366
Cerința
Un şir se numeşte şir vale, dacă are un singur minim pe poziţia v şi respectă următoarele proprietăţi:
Cerința
Un şir se numeşte şir vale, dacă are un singur minim pe poziţia v şi respectă următoarele proprietăţi:
- În stânga şi în dreapta minimului există cel puţin câte un element.
- Secvenţa
a[1], a[2], ... , a[v]este strict descrescătoare. - Secvenţa
a[v], a[v+1], ... , a[n]este strict crescătoare.
Se citeşte un şir cu n elemente. Să se verifice dacă este şir vale.
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 vale sau nu.
Restricții și precizări
3 ≤ n ≤ 10000 ≤elementele şirului≤ 1 000 000 000
Exemplu 1:
Intrare
5 1 2 3 4 5
Ieșire
NU
Exemplu 2:
Intrare
5 4 3 2 1 2
Ieșire
DA
Explicație
Primul exemplu NU este şir vale, pe când al doilea exemplu este şir vale.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int v,n,i,ok=1;
cin>>n;
int a[n+1];
a[n+1]=-1;
cin>>a[1];
for(i=2;i<=n;i++)
cin>>a[i];
for(i=2;i<=n;i++)
if(a[i-1]>a[i] && a[i+1]>a[i])
v=i;
for(i=1;i<v;i++)
if(a[i+1]>=a[i])
{
cout<<"NU"; ok=0;
break;
}
if(ok)
for(i=v;i<n;i++)
if(a[i]>=a[i+1])
{
cout<<"NU"; ok=0;
break;
}
if(ok)
cout<<"DA";
return 0;
}
Comentarii