Donat un enter , definim el seu simètric com a . Per exemple, el simètric de és , i el simètric de és el .
Sigui un vector ( és parell) tal que per qualsevol element de , el seu simètric també està a i no hi ha elements repetits.
Definim la distància entre un número i el seu simètric com el nombre de números que hi ha entre tots dos.
Per exemple, si , tenim que
la distància entre i el seu simètric és ,
la distància entre i el seu simètric és ,
la distància entre i el seu simètric és .
Feu la funció :
int simetric(const vector<int>& v){
// Pre: v es un vector no buit de longitut parell
// on per a cada element existeix el seu simètric
// Post: retorna la distància màxima
En l’exemple anterior, en què , la funció tornarà , que és la distància entre i el seu simètric.
Després heu de fer un programa principal que llegeixi una seqüència d’enters acabada en , crei el vector amb tots els elements llegits menys el , cridi a la funció anterior i mostri el resultat per pantalla
Una seqüència d’enters acabada en . La seqüència no conté elements repetits i per a cada element existeix el seu simètric.
El màxim de totes les distàncies que hi ha entre un element i el seu simètric.
Input
1 3 2 -3 -2 -1 0
Output
4
Input
2 -1 -3 -2 3 1 0
Output
3