#include<iostream> #include <cstdio> using namespace std; int a[2000]; int LIS(int a[],int n) { int i,j; int ans=1; int m=0; int *dp=new int[n+1]; dp[1]=1; for(i=2;i<=n;i++) { m=0; for(j=1;j<i;j++) { if(dp[j]>m&&a[j]<a[i]) m=dp[j]; } dp[i]=m+1; if(dp[i]>ans) ans=dp[i]; } return ans; } int main () { int n; int i; int finalmax=0; cin>>n; for(i=1;i<=n;i++) { scanf("%d",&a[i]); } printf("%d\n" ,LIS(a,n)); return 0; }