Primera aparició en vector quasi ordenat X11090


Statement
 

pdf   zip   main.cc

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.

Public test cases
  • Input

    7
    1 2 2 3 2 3 4
    7
    0 1 2 2.5 3 4 5
    
    6
    1 2 2 3 3 4
    7
    0 1 2 2.5 3 4 5
    

    Output

    -1
    0
    1
    -1
    3
    6
    -1
    -1
    0
    1
    -1
    3
    5
    -1
    
  • Information
    Author
    Enric Rodríguez
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++