L’alçada del cim d’una muntanya

Heu d’implementar una funció que rep un vector vv de naturals que té dues parts, una primera part estrictament creixent i una segona part estríctament decreixent. En altres paraules, existeix un índex ii vàlid del vector tal que, per a tot jj anterior a ii es cumpleix v[j]<v[j+1]v[j]<v[j+1], i per a tot jj posterior a ii es cumpleix v[j1]>v[j]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]v[i], per al ii que hem mencionat) no es troba ni exactament al principi ni exactament al final.

La funció haurà de retornar el valor màxim de vv. 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:

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