Sample Input
4
1 2 2 3
Sample Output
4
代码
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#define LL long long
using namespace std;
int a[1007];
int len[1007];
int main()
{
//freopen("in.txt","r",stdin);
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
int cnt=0;
for(i=1;i<=n;i++)
{
int x=lower_bound(len+1,len+1+cnt,a[i])-len;//若为不减序列则用upper_bound
if(x<=cnt) len[x]=a[i];
if(x==cnt+1)
{
cnt++;
len[cnt]=a[i];
}
}
printf("%d\n",cnt);
return 0;
}