BZOJ4590: [Shoi2015]自动刷题机
2016-08-06 02:02
274 查看
显然看着就是二分,仔细看的话显然刷的题数随n增大单调不升。
挂了一发是因为无解输出一个-1而不是两个……
#include<cstdio> #include<algorithm> using std::max; typedef long long ll; ll l,r,s,m; int n,k,t,a[100000]; int foo(ll v){ for(int i=t=s=0;i!=n;++i) if((s=max(s+a[i],0ll))>=v) s=0,++t; return t; } int main(){ scanf("%d%d",&n,&k); for(int i=0;i!=n;++i) scanf("%d",a+i); l=1,r=1e14; while(l!=r) foo(m=l+r>>1)>k?l=m+1:r=m; if(foo(l)!=k){ puts("-1"); return 0; } printf("%lld ",l); l=1,r=1e14; while(l!=r) foo(m=l+r+1>>1)<k?r=m-1:l=m; printf("%lld\n",l); }
相关文章推荐
- [bzoj4590][Shoi2015]自动刷题机
- BZOJ 4590 [Shoi2015]自动刷题机
- BZOJ4590: [Shoi2015]自动刷题机
- bzoj4590 [Shoi2015] 自动刷题机 二分答案
- [二分] BZOJ 4590 [Shoi2015]自动刷题机
- 【BZOJ】4590 [Shoi2015]自动刷题机
- BZOJ4590 [Shoi2015]自动刷题机
- bzoj4590 [Shoi2015]自动刷题机
- [bzoj4590][Shoi2015]自动刷题机 二分
- bzoj 4590: [Shoi2015]自动刷题机 二分
- BZOJ4590 SHOI2015自动刷题机(二分答案)
- BZOJ 4590 [Shoi2015]自动刷题机 ——二分答案
- 【bzoj4590】[Shoi2015]自动刷题机
- bzoj 4590: [Shoi2015]自动刷题机
- 【BZOJ4590】[Shoi2015]自动刷题机 二分
- bzoj4590 [Shoi2015] 自动刷题机
- 【bzoj4590】【SHOI2015】【自动刷题机】【二分答案】
- [bzoj]4590: [Shoi2015]自动刷题机
- BZOJ 4590: [Shoi2015]自动刷题机
- 【bzoj4590】[Shoi2015]自动刷题机 二分