👤
a fost răspuns

Doar cu !!!!! IF si WHILE !!!!!!!!!! NU AM NEVOIE DE REZOLVARE CU FOR etc.
Cerinta:

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

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.


Restricții:

3 ≤ N ≤ 500

Elementele șirului sunt numere naturale mai mici decât 1.000.000


Răspuns :

#include <iostream>

int main() {

   size_t n, temp[2];

   bool flag = false;

   std::cin >> n;

   

   --n;

   std::cin >> temp[1];

   

   while (n) {

       temp[0] = temp[1];

       std::cin >> temp[1];

       

       if (flag ? temp[0] <= temp[1] : temp[0] >= temp[1] && (temp[0] == temp[1] || !(flag = true)))

       {

           std::cout << "0";

           return 0;

       }

       

       --n;

   }

   

   std::cout << (!n && flag);

}