1 #include <cstdio> 2 #include <iostream> 3 4 using namespace std; 5 6 const int max_n = 1000 + 2; 7 const int max_a = 1e6 + 10; 8 9 int n; 10 int a[max_n]; 11 int dp[max_n]; 12 13 void solve() 14 { 15 for(int i=1;i<=n;++i) 16 { 17 dp[i]=1; 18 for(int j=1;j<i;++j) 19 { 20 if(a[j]<a[i]) 21 { 22 dp[i]=max(dp[i],dp[j]+1); 23 } 24 } 25 } 26 printf("%d ",dp[n]); 27 } 28 29 int main() 30 { 31 scanf("%d",&n); 32 for(int i=1;i<=n;++i) 33 { 34 scanf("%d",&a[i]); 35 } 36 solve(); 37 return 0; 38 } 39 40 /*test 41 5 42 4 2 3 1 5 43 44 */