[Usaco2010]Chocolate Eating
来源:互联网 发布:jsp引入java类 编辑:程序博客网 时间:2024/04/25 13:05
Description
贝西从大牛那里收到了
举个例子:假设一共有五块巧克力,贝西打算在五天时间内将它们吃完,每块巧克力提供的快乐指数分别为10,40,13,22,7。则最好的方案如下:
五天内的最小快乐指数为24,这是所有吃法中的最大值。
Input
第一行:两个用空格分开的整数:
第二行到第
Output
第一行:单个整数,表示贝西在接下来
第二行到第
如果有多种吃法,则输出按照词典序排序后最靠后的方案。
Sample Input
55
10
40
13
22
7
Sample Output
24
1
1
3
4
5
HINT
Source
Silver
方法
二分答案,每次想办法维持当前这个答案,如果维持不了那么说明不可以达到,否则则可以。
代码
#include <cstdio>const long long maxn=50000;long long n,d,h[maxn+10],v[maxn+10],left,right,ans;long long check(long long lim,long long mode){ long long en=0,now=0; for(long long i=1; i<=d; i++) { en/=2; while(en<lim) { now++; if(now>n) { return 0; } en+=h[now]; if(mode) { v[now]=i; } } } return 1;}int main(){ scanf("%lld%lld",&n,&d); for(long long i=1; i<=n; i++) { scanf("%lld",&h[i]); right+=h[i]; } while(left<=right) { long long mid=(left+right)>>1; if(check(mid,0)) { ans=mid; left=mid+1; } else { right=mid-1; } } check(ans,1); printf("%lld\n",ans); for(long long i=1; i<=n; i++) { if(v[i]) { printf("%lld\n",v[i]); } else { printf("%lld\n",d); } } return 0;}
阅读全文
1 0
- [Usaco2010]Chocolate Eating
- 【bzoj2016】[Usaco2010]Chocolate Eating
- bzoj 2016: [Usaco2010]Chocolate Eating (二分)
- [BZOJ2016][Usaco2010]Chocolate Eating(二分)
- [bzoj2016][Usaco2010]Chocolate Eating(二分+贪心)
- chocolate giving[usaco2010 Feb]
- bzoj2014 [Usaco2010 Feb]Chocolate Buying
- bzoj2015 [Usaco2010 Feb]Chocolate Giving
- [BZOJ2015][Usaco2010 Feb]Chocolate Giving
- [bzoj2015&&Usaco2010 Feb] Chocolate Giving
- 2015: [Usaco2010 Feb]Chocolate Giving
- BZOJ2015 [Usaco2010 Feb]Chocolate Giving
- TOJ 3584. Chocolate Eating 【二分+枚举】
- BZOJ 2015: [Usaco2010 Feb]Chocolate Giving spfa
- bzoj 2015: [Usaco2010 Feb]Chocolate Giving
- 【USACO FEB 2010 SILVER】吃巧克力(Chocolate Eating)
- USACO 2010 Feb Silver 3.Chocolate Eating 吃巧克力
- bzoj2015 [Usaco2010 Feb]Chocolate Giving(最短路裸题)
- 第一个简单的C程序
- AJAX异步提交表单(表单数据有文件流、字符串)
- 样例类Demo
- 2017网络媒体受众用户行为调查分析报告
- eclipse设置护眼模式,调整代码颜色
- [Usaco2010]Chocolate Eating
- 运用Kotlin开发Android应用的一些技巧
- ext前台表格动态切换url并修改传递参数
- 302重定向
- 300.20通过角标互换元素
- linux中crontab的问题
- UVa10954 例题8-11 全部相加
- P1339 [USACO09OCT]热浪Heat Wave
- Java基础知识---垃圾回收机制简述