【二分答案】买礼物的艰辛
小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);
}
【二分答案】买礼物的艰辛相关推荐
- 【二分】买礼物的艰辛
买礼物的艰辛 题目大意: 有n个物品的价格,还有m个人,m个人中的每个人都要购买一定的连续物品,问买下n个物品,花钱最大的人最少花多少钱 原题: 题目描述 小X同学给小C同学选了N件礼物,决定顺序购买 ...
- 买礼物的艰辛【二分】
>Description 一共有n个礼物,由m个朋友来买,每个朋友的钱都一样,但是不能几个朋友一起买1个礼物,一个礼物只能由1个朋友来买,且1个朋友可以买多个礼物. 求朋友的最少钱数为多少. & ...
- SSL P2719 买礼物的艰辛
题目大意: K要买N个礼物,有M个人可以资助给他,给出N个礼物a[]价格,按顺序购买,问M个人中最高的借钱数最少是多少 30%:n <=10 60%: n<=1000 100%: n< ...
- 9.9 买礼物的艰辛 2719
题目 题解 代码 题目 小X同学给小C同学选了N件礼物,决定顺序购买并赠送,但作为一个没有工资没有零花钱的可怜小朋友,有M位好心的同学伸出了援助之手,然而为了减少最高的借款量,小X同学希望OI竞赛的你 ...
- 2017年9月9日普级组 买礼物的艰辛
Description 小X同学给小C同学选了N件礼物,决定顺序购买并赠送,但作为一个没有工资没有零花钱的可怜小朋友,有M位好心的同学伸出了援助之手,然而为了减少最高的借款量,小X同学希望OI竞赛的你 ...
- week 4 hw TT的神秘礼物 二分答案
题意: TT 是一位重度爱猫人士,每日沉溺于 B 站上的猫咪频道.有一天,TT 的好友 ZJM 决定交给 TT 一个难题,如果 TT 能够解决这个难题,ZJM 就会买一只可爱猫咪送给 TT.任务内容是 ...
- [BZOJ4556][TJOI2016HEOI2016]字符串(二分答案+后缀数组+RMQ+主席树)
4556: [Tjoi2016&Heoi2016]字符串 Time Limit: 20 Sec Memory Limit: 128 MB Submit: 1360 Solved: 545 ...
- 百度松果 买礼物(贪心)
题目描述 小码哥谈恋爱了!但是他更喜欢玩派派,当他玩完派派时发现已经x点x分了,由于一直不回女朋友消息,女朋友现在的怒气值为mmm,为了赔偿女朋友,他要去给女朋友买礼物,每过一分钟女朋友的怒气值会上升 ...
- UVA1396 Most Distant Point from the Sea(AM - ICPC - Tokyo - 2007)(计算几何,半平面交 + 二分答案)
整理的算法模板合集: ACM模板 题目传送门 见<训练指南>P279 很明显就是一个二分答案,它问的是最远的点,直接枚举因为这里都是double类型的数所以有无限个点,我们可以直接二分. ...
最新文章
- 始于阿里,回归社区:阿里8个项目进入CNCF云原生全景图
- Linux下MySql出现#1036 – Table ‘ ‘ is read only 错误解决方法
- android dialog 隐藏状态栏_Android开发不得不收集的工具类集合
- 【深度学习的数学】卷积神经网络的搭建
- 修改 cmd 控制台默认代码页编码的几种方法【GBK、UTF-8】
- cocos2d-x游戏实例(9)-A星算法(5)
- php常见问题及其解决方案,PHP开源开发框架ZendFramework使用中常见问题说明及解决方案...
- Mysql的select in会自动过滤重复的数据
- java五子棋_Java初级项目——从零开始制作一个简易五子棋游戏
- 通讯簿电话号码同步相关问题
- MonoRail学习笔记十七:TransformFilter的使用
- unity内置shader
- 从神话诗歌到奇幻科学的人类探索史·《月亮》·总篇(简版)
- 定时器cron表达式
- 【调用接口实现自动抠图】
- Unity-Behavior Designer详解
- caniuse_使用此工具将CanIUse表嵌入到您的网站中
- 微信二维码扫一扫打开手机外部浏览器打开指定HTML网页
- 西农大 Java实习 异常处理
- KingbaseES的表空间
热门文章
- python自动下载酷狗音乐_Python下载酷狗音乐
- python爬取酷狗音乐json数据为空_【Python3爬虫】下载酷狗音乐上的歌曲
- N76E003AT20筋膜枪单片机设计方案
- 实验一 简单计算器的实现(QT实现)
- 怎么看服务器硬盘是机械还是固态,怎么辨别机械硬盘和固态硬盘?(附多种方法)...
- The server time zone value ‘‘ is unrecognized or represents more than one time zone
- PHP 输出各个时区对应的时差表
- 遇到模糊照片怎么变清晰?教你几招解决这个问题
- java无法连接远程服务器数据库,jar远程连接数据库失败
- SAX错误–序言中不允许包含内容