2026-03-22 22:35:30 +09:00

30 lines
471 B
C

#include <stdio.h>
#define MAX 1000
int A[MAX], dp[MAX];
int N, ans;
int max(int a, int b) {
return a > b ? a : b;
}
int main() {
scanf("%d", &N);
for(int i=0; i<N; i++) {
scanf("%d",&A[i]);
dp[i] = 1;
}
for(int i=1; i<N; i++) {
for(int j=0; j<i; j++) {
if(A[i] > A[j]) dp[i] = max(dp[i], dp[j] + 1);
}
}
for(int i=0; i<N; i++) ans = max(dp[i], ans);
printf("%d\n", ans);
return 0;
}