Salutari am si eu o problema: Sir munte

Se dă un șir format din N numere. Să se verifice dacă șirul dat reprezintă sau nu un șir munte.

Date de intrare
Pe prima linie se află N, dimensiunea șirului. Pe următoarea linie sunt N numere naturale, elementele șirului reprezentând măsurătorile lui George.

Date de ieșire
Se va afișa un singur număr: 1 dacă șirul dat este munte, sau 0 în caz contrar.

Restrictii:
3 ≤ N ≤ 500
Elementele șirului sunt numere naturale mai mici decât 1.000.000

Exemplu:
Date intrare: 7
1 4 6 7 8 5 2 Date iesire: 1
Date intrare: 7
1 4 6 10 8 9 2 Date iesire: 0

Un șir munte este un șir în care există un singur indice i ce verifică proprietațiile:
2 ≤ i ≤ N - 1, unde N reprezintă numarul de elemente din șir
toate elementele de la 1 pană la i sunt în ordine strict crescătoare
toate elementele de la i până la N sunt în ordine strict descrescătoare

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

const int NMAX = 500;

int v[NMAX];

int main() {

   int n, i;

   cin >> n;

   for ( i = 0; i < n; i ++ ) {

       cin >> v[i];

   }

   i = 1;

   while ( i < n && v[i] >= v[i - 1] )

       i ++;

   while ( i < n && v[i] <= v[i - 1] )

       i ++;

   cout << ( i == n );

   return 0;

}

Explicație: