374
Cerința
Se consideră un şir format din n numere naturale nenule. Să se determine lungimea maximă a unei secvenţe strict crescătoare din şirul dat.
Date de intrare
Fișierul de intrare platou2.in conține pe prima linie numărul n, iar pe a doua linie n numere naturale separate prin spații.
Date de ieșire
Fișierul de ieșire platou2.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 mai mici decât
100 - O secvenţă a unui şir constă în elemente aflate pe poziţii consecutive în şirul considerat.
Exemplu
platou2.in
10 7 22 13 10 31 41 6 7 10 8
platou2.out
3
Explicație
În fișierul de intrare, secvențele de lungime maximă (k=3) sunt: 10 31 41 și 6 7 10.
#include <bits/stdc++.h>
using namespace std;
ifstream fin("platou2.in");
ofstream fout("platou2.out");
int main()
{
int a[10001], i=1 , lmax = 0 , l = 0 , st = 0 , dr = 0;
while(fin >> a[i])
i++;
for(int j = 1 ; j <= i ; ++j)
{
if(a[j] < a[j+1])
{
l++;
if(l > lmax) {lmax = l ; dr = j ; st = dr - l +1;}
}
else l = 0;
}
fout<< lmax+1;
return 0;
}
Comentarii