Cerința
Se consideră un şir format din n
numere întregi. Șirul conține cel puțin un număr pozitiv. Să se determine lungimea maximă a unei secvenţe din şir care are proprietatea că este formată doar din valori strict pozitive.
Date de intrare
Fișierul de intrare platou3.in
conține pe prima linie numărul n
, iar pe a doua linie n
numere întregi separate prin spații.
Date de ieșire
Fișierul de ieșire platou3.out
va conține pe prima linie numărul k
, reprezentând lungimea maximă a secvenței determinate.
Restricții și precizări
1 ≤ n ≤ 1000
- numerele de pe a doua linie a fișierului de intrare vor fi din intervalul
[-99,99]
- O secvenţă a unui şir constă în elemente aflate pe poziţii consecutive în şirul considerat.
Exemplu
platou3.in
10 7 -22 -13 10 31 41 -6 2 10 8
platou3.out
3
Explicație
În fișierul de intrare, secvențele de lungime maximă (k=3
) sunt: 10 31 41
și 2 10 8
.
#include <bits/stdc++.h> using namespace std; ifstream fin("platou3.in"); ofstream fout("platou3.out"); int main() { int n; fin >> n; int a[1000]; int l = 0 , lmax=0; a[0]=-1; for(int i = 1 ; i <= n ; ++i) fin >> a[i]; for(int i = 1 ; i <= n ; ++i) { if(a[i]>0 && a[i-1]>0) { l++; if(l>lmax) lmax=l; } else l=0; } fout << lmax+1; return 0; }