题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1257
AC代码:
#include<stdio.h>
const int M=30007;
int s[M];
int nume;
bool f(int a)
{
for(int i=0;i<nume;i++)
{
if(s[i]>=a)
{
s[i]=a;
return 0;
}
}
return 1;
}
int main()
{
int n;
while(~scanf("%d",&n))
{
nume=0;
while(n--)
{
int a;
scanf("%d",&a);
if(f(a))
{
s[nume++]=a;
}
}
printf("%d\n",nume);
}
return 0;
}