【题目描述】:

聪哥在暑假参加了打零工的活动,这个活动分为n个工作日,每个工作日的工资为Vi。有m个结算工钱的时间,聪哥可以自由安排这些时间,也就是说什么时候拿钱,老板说的不算,聪哥才有发言权!(因为聪哥是土豪,他是老板的老板)

聪哥不喜欢身上一次性有太多的钱,于是他想安排一下拿钱的时间,使他一次性拿的钱中最大的最小。(最后一天一定要领钱)

【输入描述】:

第一行 2个数 n,m

接下来n行,每行一个数,代表Vi。

【输出描述】:

最小的最大钱数。

【样例输入】:

7 5
100
400
300
100
500
101
400

【样例输出】:

500

【样例说明】:

100 400//300 100//500//101//400//

“//”表示老大要去拿钱。

【时间限制、数据范围及描述】:

时间:1s 空间:256M

20% : 1<=n<=20

另20%:1<=n<=50, Vi的和不超过1000

100%: 1<=n<=100,000, m<=n, Vi<=10,000

 1 #include "bits/stdc++.h"
 2 using namespace std;
 3 typedef long long LL;
 4 const int MAX=100005;
 5 int n,m;
 6 LL a[MAX];
 7 LL low,high,mid;
 8 void init(){
 9     int i,j;
10     scanf("%d%d",&n,&m);
11     for (i=1;i<=n;i++){
12         scanf("%lld",a+i);
13         low=max(low,a[i]);
14         high+=a[i];
15     }
16 }
17 bool feasible(LL x){
18     int i,j;
19     LL zt=0,an=0;
20     for (i=1;i<=n;i++){
21         if (a[i]+zt>x){
22             zt=a[i];
23             an++;
24         }
25         else
26             zt+=a[i];
27     }
28     return (an>=m);
29 }
30 int main(){
31     init();int i,j;
32     while (low<=high){
33         mid=(low+high)>>1;
34         if (feasible(mid))
35             low=mid+1;
36         else
37             high=mid-1;
38     }
39     printf("%d",low);
40     return 0;
41 }

转载于:https://www.cnblogs.com/keximeiruguo/p/7309771.html

WHYZOJ-#60 工资(二分)相关推荐

  1. 请假工资扣费总额计算机公式,病假扣款计算公式excel

    1.求Excel公式函数公式:病假扣款:工龄10年以上,每日扣日工资的20%:工龄5年以上,每天扣日工资的3...... 假设假别写在B2单元格,请假时间写在C2单元格,工龄写在D2单元格,日工资写在 ...

  2. 10年日语营业转行IT从深圳到日本东京圈工作生活2019copy

    10年日语营业转行IT从深圳到日本东京圈工作生活2019 主旨:成人学历可以来日本,拖家带口可以来日本,不通过中介可以来日本,只会日语不会IT可以来日本. 序章 日本对于我来说确实曾经像一个童话, 日 ...

  3. MySQL练习题全部

    时间date可以直接比较 hiredate date comment '入职时间', a.hiredate < b.hiredate CONVERT函数 没有转化为int CONVERT函数用于 ...

  4. ZJOI2017 讲课Day1笔记

    额,参考一下大神的笔记.... 地址 http://www.cnblogs.com/ARZhu-NOIpAK/p/6596879.html Day1 2017-3-24 3:34:43 苟-- 富贵 ...

  5. 比赛经验总结--187

    cqround1 1.这次比赛160分 (1)反质数:60 (2)二分答案+2sat:验证:  0分 (3)树上LCA+推公式: 100分 2.总结:这次比赛第三题做起来非常顺,做过类似的题:奶牛大集 ...

  6. 找了这么多毕业设计题目,反而不知道选哪个了

    1.学生宿舍管理系统 2.仓库管理系统 3.超市销售管理系统 4.工资管理系统 5.供应商管理系统 6.会员卡管理系统 7.计量管理系统 8.进销存财务管理系统 9.进销存管理系统 10.人才管理系统 ...

  7. [渝粤教育] 陕西科技大学 数控加工技术 参考 资料

    教育 -数控加工技术-章节资料考试资料-陕西科技大学[] 数控加工基本过程及编程流程知识测验 1.[单选题]数控编程中,公制.英制编程适用于( ). A.数控车床 B.数控铣床 C.加工中心 D.数控 ...

  8. 软件公司(company)

    Description 一家软件开发公司有两个项目,并且这两个项目都由相同数量的m个子项目组成,对于同一个项目,每个子项目都是相互独立且工作量相当的,并且一个项目必须在m个子项目全部完成后才算整个项目 ...

  9. 大厂程序媛的特殊烦恼:男朋友工资只有自己的60%,天天阴阳怪气!

    工资高有工资高的快乐,也有相应的烦恼. 一个大厂程序媛发帖吐槽:男朋友自从知道他的工资只有自己的60%之后,每天阴阳怪气,真让人不爽! 网友调侃楼主男朋友,不就是软饭硬吃吗?有什么大不了的? 许多人认 ...

最新文章

  1. 一项震动制药行业的研究:大型制药公司AI的生产力
  2. mysql sqlserver分页_SQLServer常用分页方式
  3. 面向对象的继承关系体现在数据结构上时,如何表示
  4. 激光slam-- .pgm格式地图分析及修改方法
  5. c语言实验报告5数组,c语言实验报告五一维数组.doc
  6. Oracle数据库空间突然增大,Oracle 表空间异常增长过快解决方法
  7. C# 取二位小数点(四舍五入)
  8. 算法-字符串 循环左移
  9. 【Vegas改编】发布infopath模板到sharepoint2007站点
  10. 排序算法之八 桶排序(C++版本)
  11. 打算为IBatisNet 引入自定义Membership和Role
  12. cad计算机试题及答案,CAD考试试题库及参考答案整理版.doc
  13. 数据处理——偏最小二乘法
  14. RHEL7 CentOS7 检查查看精简指令
  15. 【所见即所得】数据分析最有用的25个 Matplotlib图【附代码】
  16. 【C语言练习】分离英语句子中的单词并统计每个单词出现次数后排序输出
  17. java word checkbox_springmvc poi 导出word 复选框 怎么用
  18. 女朋友要求道歉100遍:普通人和程序员的做法分别是:
  19. 从单机到多机:多机一定比单机快吗?秒杀系统到底有没有必要用分布式锁?
  20. 文件名称重命名后,一键恢复的技巧

热门文章

  1. 串匹配算法——BF算法
  2. X265-线程池-1
  3. oracle ssh测试不通过,ssh 连接不上 oracle linux 7.2
  4. head,branch,version,date
  5. ExtJS 2.0官方实例目录
  6. 获取某一日期为当年的第几旬
  7. 为不同的屏幕尺寸提供不同的图片(为那些没有必要下载全尺寸大图的设备节省带宽)...
  8. Android进阶知识:绘制流程(上)
  9. RabbitMQ 交换器、持久化
  10. first-软件工程