👤

Ma poate ajuta cineva cu aceasta problema? Multumesc anticipat!

Cerința
Un şir se numeşte şir munte, dacă are un singur maxim pe poziţia v, numit vârf şi respectă următoarele proprietăţi:

În stânga şi în dreapta vârfului există cel puţin câte un element.
Secvenţa a[1], a[2], ... , a[v] este strict crescătoare.
Secvenţa a[v], a[v+1], ... , a[n] este strict descrescătoare.
Se citeşe un şir cu n elemente. Să se verifice dacă este şir munte.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire
Programul va afișa pe ecran unul dintre mesajele DA sau NU în funcţie că este şir munte sau nu.

Restricții și precizări
3 ≤ n ≤ 1000
0 ≤ elementele şirului ≤ 1 000 000 000

Exemplu 1:
Intrare

5
1 2 3 4 5
Ieșire

NU
Exemplu 2:
Intrare

5
1 2 3 4 3
Ieșire

DA

Explicație:
Primul exemplu nu este şir munte, pe când al doilea exemplu este şir munte.


Răspuns :

   #include <iostream>
using namespace std;
   int main ()
    {
        int n, i, nr0, v, nr, este=1, neste=1;
    cout<<"n=";
    cin>> n;
    cout<<"nr0=";
    cin>>nr0;
    cout<<"v=";
    cin>>v;
    for (i=1; i<n; i++)
    {
        cout<<"nr=";
        cin>>nr;
        if(i<=v)
        {
            if(nr<=nr-1)
            este=0;
        }
        else
        {
        if(nr<=nr+1)
            neste=0;
        }
      }
      if(este==1 &&  neste==1)
        cout<<"Da";
      else
        cout<<"Nu";
    return 0;
    }