Cerinţa
Se dă un şir format din n
elemente, numere naturale. Determinaţi câte secvenţe maximale cu elementele ordonate crescător conţine şirul.
Date de intrare
Fişierul de intrare secvente.in
conţine pe prima linie numărul n
; urmează cele n
elemente ale vectorului, dispuse pe mai multe linii şi separate prin spaţii.
Date de ieşire
Fişierul de ieşire secvente.out
va conţine pe prima linie numărul C
, reprezentând numărul de secvenţe cu elementele ordonate crescător din şirul dat.
Restricţii şi precizări
1 ≤ n ≤ 1000
- elementele şirului vor avea cel mult
4
cifre - o secvență cu elemente ordonate crescător este maximală dacă adăugând la secvență încă un element ea nu mai are elementele ordonate crescător
Exemplu
secvente.in
8 12 10 15 17 17 10 12 14
secvente.out
3
Explicație
Secvenţele din şir cu elementele ordonate crescător sunt: (12)
, (10 15 17 17)
, (10 12 14)
.
#include <bits/stdc++.h> using namespace std; ifstream cin("secvente.in"); ofstream cout("secvente.out"); int main() { int n; cin >> n; int a[1001]; for(int i = 1; i <= n; ++i) cin >> a[i]; int cnt = 0; for(int i = 2; i <= n; ++i) if(a[i] < a[i-1]) cnt++; if(a[n] > a[n-1]) cnt++; cout << cnt; return 0; }