| 比赛 | 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;
}