Pagini recente » Profil Andrei_Pavel | Borderou de evaluare (job #671969) | Borderou de evaluare (job #1755098) | Profil Liquiron | Cod sursa (job #3364189)
#include<bits/stdc++.h>
using namespace std;
const int NMAX = 1e5 + 10;
int lis[NMAX], v[NMAX];
int main() {
freopen("scmax.in", "r", stdin);
freopen("scmax.out", "w", stdout);
int n; scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d", &v[i]);
}
for (int i = 1; i <= n; i++) {
int best_length = 0;
for (int j = 1; j < i; j++) {
if (v[j] < v[i])
best_length = max(best_length, lis[j]);
}
lis[i] = best_length + 1;
}
int result = 0;
for (int i = 1; i <= n; i++) {
result = max(result, lis[i]);
}
printf("%d", result);
return 0;
}