//最长递增子序列
int dp[N],ans=0;
memset(dp,0,sizeof dp);
for(int i=1;i<=n;i++)
{
int maxx=0;
for(int j=1;j<i;j++)
if(dp[j]>maxx&&a[j]<a[i])
maxx=dp[j];
dp[i]=maxx+1;
ans=max(ans,dp[i]);
}
cout<<ans;
24/7/30
//最长递增子序列
int dp[N],ans=0;
memset(dp,0,sizeof dp);
for(int i=1;i<=n;i++)
{
int maxx=0;
for(int j=1;j<i;j++)
if(dp[j]>maxx&&a[j]<a[i])
maxx=dp[j];
dp[i]=maxx+1;
ans=max(ans,dp[i]);
}
cout<<ans;
24/7/30