Sigui v
un vector de mida n (on n ≥ 3) que
conté enters positius.
La posició i
del vector (on 0 < i < n−1)
és dominant si és el valor v[i]
és més gran que els seus valors adjacents,
és a dir, si v[i]
és estríctament més gran
que v[i-1]
i que v[i+1]
.
Diem que la dominància de i
(dom(i)) és
la diferència de v[i]
amb els seus valors adjacents:
dom(i) = abs(v[i−1] − v[i]) + abs(v[i] − v[i+1]) per a 0 < i < n−1 |
Siguin i
i j
dues posicions dominants de v
.
Diem que i
és més dominant que j
si i només si:
i
i j
són dominants.
Dit altrament: si i
i j
són dominants, llavors
i
és més dominant que j
si té una dominància
més gran o bé (en cas d’empat) i
és estrictament més gran que j
.
Fes la funció dominant(v)
tal que,
donat un vector v
, torni la posició més dominant
del vector si aquest existeix,
o bé −1 en cas que no n’hi hagi cap.
Observació
Només cal que enviïs el fitxer amb la funció (i les funcions auxiliars que hagis fet)
que et demanem i prou en un sol fitxer que es digui solution.py
.
El fitxer main.py
et pot servir per a fer la teva solució,
però no n’has d’enviar el contingut.
Per a executar el programa al teu terminal, hauràs de tenir els fitxers
main.py
i solution.py
al mateix directori, amb els fitxers
dels jocs de proves.
Si vols executar el primer joc de proves, cal que facis:
python3 main.py < sample-1.inp
Entrada
Un vector v
d’enters, amb, almenys, tres elements.
Sortida
La posició més dominant, si existeix, −1 altrament.
Input
4 1 2 3 6 2 10 1 5 2 2 1 3 1
Output
6
Input
2 1 3 4 6 6 2 1 2 4
Output
-1
Input
1 1 1 2 1 1 1 2 1 1
Output
7