#include<cstdio>
#include<cstring>
#define maxn 1001
using namespace std;
int N;//数据个数
int a[maxn];//储存数据
int dp[maxn];//dp[i]表示以i结束的最长上升子序列的最大长度 初始为1
int main()
{
while(~scanf("%d",&N))
{
for(int i=1;i<=N;i++)
scanf("%d",&a[i]);
int ans=0;
for(int i=1; i<=N; i++)
{
dp[i]=1;
for(int j=1;j<i;j++)
{
if(a[i]>a[j] && dp[i]<dp[j]+1)//如果a[i]可以作为a[j]的后续 并且 作为后续之后可以使 序列变长
{
dp[i]=dp[j]+1;
}
}
if(ans<dp[i])ans=dp[i];
}
printf("%d\n",ans);
}
return 0;
}
07-25
07-25