记录编号 38883 评测结果 AAAAAAAAAA
题目名称 [RQNOJ 167] 免费午餐 最终得分 100
用户昵称 GravatarCzb。 是否通过 通过
代码语言 C++ 运行时间 0.073 s
提交时间 2012-06-20 09:25:22 内存使用 0.67 MiB
显示代码纯文本
#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==0)continue;
        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;
}