小X同学给小C同学选了N件礼物,决定顺序购买并赠送,但作为一个没有工资没有零花钱的可怜小朋友,有M位好心的同学伸出了援助之手,然而为了减少最高的借款量,小X同学希望OI竞赛的你为他合理规划,使得他能轻松快乐地送出礼物。

Input

第一行输入两个用空格隔开的正整数N和M
以下N行每行一个不超过10000正整数,依次表示礼物的价格。

Output

一个整数,即最高借款量。


题目有bug,然而实际上是m+1个人,然后我就A了。。。
答案的范围在最大的a[i]到所有a[i]的和之间,然后二分mid。
按顺序取,如果能借mid或mid以内的钱话r=mid,否则l=mid+1
输出答案。

#include<cstdio>
#include<iostream>
using namespace std;
int n,m,a[100001],l;
long long r,mid;
int main(){scanf("%d%d",&n,&m);for(int i=1;i<=n;++i){scanf("%d",&a[i]);r+=a[i];l=max(l,a[i]);}++m;while(l<r){       //二分mid=(l+r)/2;long long s=0,k=0,lq=0,lr=0;while(k<n){   ++k;   //取到第k个if(lq+a[k]<=mid) lq+=a[k];   //累计取了多少,然后有没有超过else{   //如果超过了,那么就把这些礼物结算给一个人lr++;   //多一个人要借lq=0;   //清下零if(lr>m) break;   //如果没人可借,退出--k;   //避免跳过计算}}if(lq>0) lr++;   //如果有多余的没结算if(lr>m) l=mid+1;   //判断是否借得到else r=mid;}printf("%d",l);
}

【二分答案】买礼物的艰辛相关推荐

  1. 【二分】买礼物的艰辛

    买礼物的艰辛 题目大意: 有n个物品的价格,还有m个人,m个人中的每个人都要购买一定的连续物品,问买下n个物品,花钱最大的人最少花多少钱 原题: 题目描述 小X同学给小C同学选了N件礼物,决定顺序购买 ...

  2. 买礼物的艰辛【二分】

    >Description 一共有n个礼物,由m个朋友来买,每个朋友的钱都一样,但是不能几个朋友一起买1个礼物,一个礼物只能由1个朋友来买,且1个朋友可以买多个礼物. 求朋友的最少钱数为多少. & ...

  3. SSL P2719 买礼物的艰辛

    题目大意: K要买N个礼物,有M个人可以资助给他,给出N个礼物a[]价格,按顺序购买,问M个人中最高的借钱数最少是多少 30%:n <=10 60%: n<=1000 100%: n< ...

  4. 9.9 买礼物的艰辛 2719

    题目 题解 代码 题目 小X同学给小C同学选了N件礼物,决定顺序购买并赠送,但作为一个没有工资没有零花钱的可怜小朋友,有M位好心的同学伸出了援助之手,然而为了减少最高的借款量,小X同学希望OI竞赛的你 ...

  5. 2017年9月9日普级组 买礼物的艰辛

    Description 小X同学给小C同学选了N件礼物,决定顺序购买并赠送,但作为一个没有工资没有零花钱的可怜小朋友,有M位好心的同学伸出了援助之手,然而为了减少最高的借款量,小X同学希望OI竞赛的你 ...

  6. week 4 hw TT的神秘礼物 二分答案

    题意: TT 是一位重度爱猫人士,每日沉溺于 B 站上的猫咪频道.有一天,TT 的好友 ZJM 决定交给 TT 一个难题,如果 TT 能够解决这个难题,ZJM 就会买一只可爱猫咪送给 TT.任务内容是 ...

  7. [BZOJ4556][TJOI2016HEOI2016]字符串(二分答案+后缀数组+RMQ+主席树)

    4556: [Tjoi2016&Heoi2016]字符串 Time Limit: 20 Sec  Memory Limit: 128 MB Submit: 1360  Solved: 545 ...

  8. 百度松果 买礼物(贪心)

    题目描述 小码哥谈恋爱了!但是他更喜欢玩派派,当他玩完派派时发现已经x点x分了,由于一直不回女朋友消息,女朋友现在的怒气值为mmm,为了赔偿女朋友,他要去给女朋友买礼物,每过一分钟女朋友的怒气值会上升 ...

  9. UVA1396 Most Distant Point from the Sea(AM - ICPC - Tokyo - 2007)(计算几何,半平面交 + 二分答案)

    整理的算法模板合集: ACM模板 题目传送门 见<训练指南>P279 很明显就是一个二分答案,它问的是最远的点,直接枚举因为这里都是double类型的数所以有无限个点,我们可以直接二分. ...

最新文章

  1. 始于阿里,回归社区:阿里8个项目进入CNCF云原生全景图
  2. Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
  3. android dialog 隐藏状态栏_Android开发不得不收集的工具类集合
  4. 【深度学习的数学】卷积神经网络的搭建
  5. 修改 cmd 控制台默认代码页编码的几种方法【GBK、UTF-8】
  6. cocos2d-x游戏实例(9)-A星算法(5)
  7. php常见问题及其解决方案,PHP开源开发框架ZendFramework使用中常见问题说明及解决方案...
  8. Mysql的select in会自动过滤重复的数据
  9. java五子棋_Java初级项目——从零开始制作一个简易五子棋游戏
  10. 通讯簿电话号码同步相关问题
  11. MonoRail学习笔记十七:TransformFilter的使用
  12. unity内置shader
  13. 从神话诗歌到奇幻科学的人类探索史·《月亮》·总篇(简版)
  14. 定时器cron表达式
  15. 【调用接口实现自动抠图】
  16. Unity-Behavior Designer详解
  17. caniuse_使用此工具将CanIUse表嵌入到您的网站中
  18. 微信二维码扫一扫打开手机外部浏览器打开指定HTML网页
  19. 西农大 Java实习 异常处理
  20. KingbaseES的表空间

热门文章

  1. python自动下载酷狗音乐_Python下载酷狗音乐
  2. python爬取酷狗音乐json数据为空_【Python3爬虫】下载酷狗音乐上的歌曲
  3. N76E003AT20筋膜枪单片机设计方案
  4. 实验一 简单计算器的实现(QT实现)
  5. 怎么看服务器硬盘是机械还是固态,怎么辨别机械硬盘和固态硬盘?(附多种方法)...
  6. The server time zone value ‘‘ is unrecognized or represents more than one time zone
  7. PHP 输出各个时区对应的时差表
  8. 遇到模糊照片怎么变清晰?教你几招解决这个问题
  9. java无法连接远程服务器数据库,jar远程连接数据库失败
  10. SAX错误–序言中不允许包含内容