| 比赛 | 20120619 | 评测结果 | AAAAAWAAAW | 
|---|---|---|---|
| 题目名称 | 免费午餐 | 最终得分 | 80 | 
| 用户昵称 | Czb。 | 运行时间 | 0.000 s | 
| 代码语言 | C++ | 内存使用 | 0.00 MiB | 
| 提交时间 | 2012-06-19 21:02:15 | ||
#include<stdio.h>
int n,a,len,f[100001];
int main()
{
	freopen("lunch.in","r",stdin);
	freopen("lunch.out","w",stdout);
	int i,j,l,r,m;
	scanf("%d",&n);
	len=0;f[0]=0x7FFFFFFF;
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a);
		if(a<f[len])
		{
			len++;
			f[len]=a;
		}
		else
		{
			l=0;r=len;
			while(l<r-1)
			{
				m=(l+r)>>1;
				if(f[m]<=a)r=m;
				else l=m;
			}
			f[r]=a;
		}
	}
	printf("%d\n",len);
	return 0;
}