(money/money.in/money.out)

时限1000ms 内存256MB

聪哥在暑假参加了打零工的活动,这个活动分为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//

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

数据范围

20%   1<=n<=20

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

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

做法:二分答案。

大概用了20+分钟。

代码:

 #include<cstdio>
int n,m,l=,r;
int a,b,c;
int s[];
int main(){
freopen("money.in","r",stdin);
freopen("money.out","w",stdout);
scanf("%d%d",&n,&m);m--;
for(int i=;i<=n;i++){
scanf("%d",&s[i]);
r+=s[i];
}
while(){
if(l==r) break;
int mid=(l+r)>>;a=b=;
for(int i=;i<=n;i++){
if(a+s[i]>mid){++b;a=s[i];}
else a+=s[i];
}
if(b>m) l=mid+;
else r=mid;
}
printf("%d\n",l);
return ;
}

然而只得了90分,为什么呢?

他的数据不清真。说好的Vi<=10000呐!

我的r都溢出了好几遍。。。

数据的锅,我不背。

最新文章

  1. Sonar安装配置
  2. FastCgi 与 PHP-FPM
  3. jQuery基础--样式篇(3)
  4. 使用BPEL创建Web服务组合
  5. IOS-Swift、Objective-C、C++混合编程
  6. mybatis 使用动态SQL
  7. SQLite数据库增删改查
  8. dhtmlx之dhtmlXGrid显示数据 --大数据
  9. JQuery和JSON方式参数传递并处理JAVAWEB中文乱码问题
  10. 蓝桥杯-四平方和-java
  11. 王家林人工智能AI课程大纲和电子书 - 老师微信13928463918
  12. C# 对MongoDB 进行增删改查的简单操作
  13. .net core2 单元测试
  14. Recurrent Neural Network[survey]
  15. python--__init__()方法和__new__()方法
  16. Html链接标签:
  17. mysql awr v1.0.3修正说明以及发布
  18. AOP在大规模软件开发项目中的应用(图)
  19. C# 把字符串中间的多个连续的空格转化成一个空格
  20. winform 按键控制

热门文章

  1. Nginx(二) 反向代理&amp;负载均衡
  2. 微信扫码下载APK遮罩提示示例
  3. Linux安装PHP环境
  4. [POI2013]POL-Polarization
  5. .NET 错误 47 存储区提供程序工厂类型“Oracle.DataAccess.Client.OracleClientFactory”未实现 IServiceProvider 接口。请使用实现该接口的存储区提供程序。
  6. 42使用NanoPiM1Plus在Android4.4.2下的录音测试
  7. Android RxJava 2.0中backpressure(背压)概念的理解
  8. iOS从手机相册选择一张照片并显示 Objective-C
  9. 机器学习_K近邻Python代码详解
  10. 梦想CAD控件 2019.01.20更新