BZOJ 2600/IOI2011 ricehub
来源:互联网 发布:c语言中const的用法 编辑:程序博客网 时间:2024/06/18 09:22
思路:
二分一下即可。。
#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<cstring>#include<string>using namespace std;typedef long long LL;const int imax=100000+229;int n; LL L,B;LL a[imax],sum[imax]; void iread(){ scanf("%d%lld%lld",&n,&L,&B); for(int i=1;i<=n;i++) scanf("%lld",&a[i]);}bool pd(int x){ LL now=0; for(int i=1;i<=(x/2);i++) now+=(a[x-i+1]-a[i]); LL Min=now; int t=x/2; for(int i=2;i+x-1<=n;i++) { int last=i-1; int end=i+x-1; LL jian=a[last+t]-a[last]; LL jia=a[end]-a[end-t]; now=now-jian+jia; if(now<Min) Min=now; } return Min<=B;}void iwork(){ int l=1; int r=n; while(l<=r) { if(l+1==r || l==r) { if(pd(r)) l=r; break; } int Mid=(l+r)>>1; if(pd(Mid)) l=Mid; else r=Mid-1; } printf("%d\n",l);}int main(){ iread(); iwork(); return 0;}
0 0
- BZOJ 2600/IOI2011 ricehub
- bzoj 2600 [Ioi2011] ricehub 题解
- BZOJ 2600 IOI2011 ricehub 中位数
- BZOJ 2600: [Ioi2011]ricehub 中位数
- BZOJ 2600: [Ioi2011]ricehub|暴力|中位数
- BZOJ P2600[IOI2011] ricehub
- IOI2011 ricehub
- 2600: [Ioi2011]ricehub 前缀和乱搞
- 【bzoj2660】【IOI2011】【ricehub】
- 【IOI2011】【BZOJ2600】ricehub
- 【BZOJ2600】【IOI2011】ricehub 二分答案
- BZOJ 2600 IOI 2011 ricehub 二分
- bzoj 2599: [IOI2011]Race
- bzoj 2599 [IOI2011]Race
- BZOJ 2599: [IOI2011]Race
- BZOJ 2599 [IOI2011]Race【Tree,点分治】
- 【BZOJ】【P2599】【IOI2011】【Race】【题解】【点分治】
- 【点分治】BZOJ 2599:[IOI2011]Race
- 朴素贝叶斯分类
- JProfiler入门笔记
- 序列求和
- 实现无锁的栈与队列(5):Hazard Pointer
- MONOPLOY
- BZOJ 2600/IOI2011 ricehub
- PAT1050
- 单链表
- 安卓获取IMSI,IMEI和版本,版本号
- 寒假刷题--并查集
- 常见的反爬虫和应对方法
- Java基础day13 StringBuffer类
- 简单而漂亮的登录页面。。。
- HDU 1062 Text Reverse(水题)