麻烦管理员确认一下本题第七组数据是否正确

P1704 寻找最优美做题曲线

#一只野生的**罗大神**,去头去尾就可以吃啦**╮( ̄▽ ̄)**╭,蛋白质是牛肉的五倍,鸡肉味,嘎嘣脆。#
by wumei46 @ 2017-03-18 09:28:25


wtf
by demerzel_iv @ 2017-03-18 10:12:01


一只野生的**罗大神**,去头去尾就可以吃啦╮( ̄▽ ̄)╭,蛋白质是牛肉的二十倍,鸡肉味,嘎嘣脆。
by 老K @ 2017-03-18 14:29:15


你找到问题了吗?过的人似乎全都是抄标程的。文件过大又不让下。我的代码如下(希望没出愚蠢的错误): ```cpp #include<cstdio> #include<algorithm> using namespace std; int n,k,i,j,p[500005],c[500005],s[500005],top; bool del[500005]; int main() { scanf("%d%d",&n,&k); for(i=1;i<=k;++i) scanf("%d",p+i); for(i=1;i<=n;++i) scanf("%d",c+i); sort(p+1,p+1+k); for(i=2;i<=k;++i) if(c[p[i]]<=c[p[i-1]]) { puts("impossible"); return 0; } for(i=1;i<p[1];++i) if(c[i]>=c[p[1]]) del[i]=true; for(i=2;i<=k;++i) for(j=p[i-1]+1;j<p[i];++j) if(!(c[j]>c[p[i-1]]&&c[j]<c[p[i]])) del[j]=true; for(i=p[k]+1;i<=n;++i) if(c[i]<=c[p[k]]) del[i]=true; for(i=1;i<=n;++i) { if(del[i]) continue; if(c[i]>s[top]) s[++top]=c[i]; else *upper_bound(s+1,s+1+top,c[i])=c[i]; } printf("%d\n",top); return 0; } ```
by rushcheyo @ 2017-06-17 13:29:35


标程二分那一段写得相当糟糕,肯定有问题。
by rushcheyo @ 2017-06-17 13:35:09


@[rushcheyo](/space/show?uid=9643) 第7组数据规定了第0天必须做题
by Niko @ 2017-10-27 09:49:38


|