L’alçada del cim d’una muntanya

Heu d’implementar una funció que rep un vector v de naturals que té dues
parts, una primera part estrictament creixent i una segona part
estríctament decreixent. En altres paraules, existeix un índex i vàlid
del vector tal que, per a tot j anterior a i es cumpleix
v[j] < v[j + 1], i per a tot j posterior a i es cumpleix
v[j − 1] > v[j]. Es garanteix que el vector té com a mínim tres elements
i que el seu valor màxim (és a dir v[i], per al i que hem mencionat) no
es troba ni exactament al principi ni exactament al final.

La funció haurà de retornar el valor màxim de v. Aquesta és la
capcelera:

    // Pre:  Let n be v.size(). Then n >= 3 and for all i in {0..n-1}, v[i] >= 0.
    //       Also, there exists i in {1..n-2} such that v[0..i] is strictly increasing and
    //                                                  v[i..n-1] is strictly decreasing.
    // Post: Returns the maximum value of v.
    int summitOfMountain(const vector<int> &v);

Observació

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

Observació

Avaluació sobre 10 punts:

- Solució lenta: 5 punts.

- solució ràpida: 10 punts.

Entenem com a solució ràpida una que és correcta, de cost logarítmic i
capaç de superar els jocs de proves públics i privats. Entenem com a
solució lenta una que no és ràpida, però és correcta i capaç de superar
els jocs de proves públics.

Informació del problema

Autoria: PRO1

Generació: 2026-01-25T15:13:47.087Z

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