Primera aparició en vector quasi ordenat

Escriviu una funció eficient

    int first_occurrence(double x, const vector<double>& v);

que retorni la posició de la primera aparició de @x@ dins del vector @v@. Si @x@ no apareix a @v@, retorneu un -1.

Precondició

El vector @v@ està “quasi ordenat” en ordre no decreixent, en el sentit que hi pot haver com a molt un parell d’índexos ii i jj tals que 0i<j<n0 \le i < j < n i @v@[ii] >> @v@[jj].

Observació

Podeu definir funcions auxiliars si us calen.

Observació

Només cal enviar el procediment demanat; el programa principal serà ignorat.

Observació

Feu servir l’arxiu @main.cc@ que us donem. Conté el procediment principal que llegeix el joc de proves, crida a la funció que us demanem implementar, i escriu el resultat en el format esperat.

Per a la vostra informació, un joc de proves consta de diversos casos. Cada cas comença amb un natural n0n \geq 0, seguit dels nn @doubles@ que formen el vector @v@. A continuació apareix un natural c0c \geq 0, seguit de cc @doubles@ pels quals volem conèixer quina és la seva primera aparició a @v@.

Informació del problema

Autoria: Enric Rodríguez

Generació: 2026-01-25T16:31:39.642Z

© Jutge.org, 2006–2026.
https://jutge.org