题意:给出n天的花费,需要将这n天的花费分成m组,使得每份的和尽量小,求出这个最小的和

看题目看了好久不懂题意,最后还是看了题解

二分答案,上界为这n天花费的总和,下界为这n天里面花费最多的那一天

如果mid>=m,说明mid偏小,l=mid+1,

如果mid<m,说明mid偏大,r=mid,

 #include<iostream>
#include<cstdio>
#include<cstring>
#include <cmath>
#include<stack>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<algorithm>
using namespace std; typedef long long LL;
const int INF = (<<)-;
const int mod=;
const int maxn=; int a[maxn];
int n,m,k; int ok(int v){
int ans=;
int cnt=;
for(int i=;i<=n;i++){
ans+=a[i];
if(ans>v){
ans=a[i];
cnt++;
}
}
if(cnt>=m) return ;
return ;
} int main(){
while(scanf("%d %d",&n,&m)!=EOF){
int minn=-,maxx=;
for(int i=;i<=n;i++) {
scanf("%d",&a[i]);
maxx+=a[i];
minn=max(minn,a[i]);
} LL l=minn,r=maxx,mid;
while(l<r){
mid=(l+r)/;
if(ok(mid)) r=mid;
else l=mid+;
// printf("l=%d\n",l);
// printf("r=%d\n",r);
// printf("mid=%d\n",mid);
} printf("%I64d\n",l);
}
return ;
}

最新文章

  1. iOS Swift 3 open
  2. libdispatch for Linux
  3. 一个.net mvc的例子
  4. 第六篇、CSS属性
  5. linux上ln命令详细说明
  6. python模块—urllib
  7. VS2010添加默认路径,库以及Lib
  8. 微信小程序源码推荐
  9. Xcode在playground的quick look框中显示对象自定义视图
  10. Android ViewPager和Slidingmenu手势冲突问题
  11. JaveScript基础(3)之正则表达式
  12. 2017年4月13日用VS写C程序遇到的一些问题
  13. Grouping ZOJ - 3795 (tarjan缩点求最长路)
  14. 使用centos7构建本地git服务器
  15. python学习笔记8--面向对象--属性和方法详解
  16. POJ 1258 Agri-Net(Prim算法求解MST)
  17. word2vec 中的数学原理详解(一)目录和前言【转】
  18. OK335xS pwm device register hacking
  19. task optimization
  20. bootstrap3中select2的默认值和下拉框的禁用

热门文章

  1. Centos7 minimal 系列之rabbitmq安装(八)
  2. MySQL中的存储函数和存储过程的简单示例
  3. swift使用查阅资料备份2
  4. EM_LGH CF965D Single-use Stones 思维_推理
  5. node——读取文件中的路径问题
  6. systemd bug: bz1437114 core:execute: fix fork() fail handling in exec_spawn()
  7. js 获取对象长度
  8. Git:与GitHub搭配及SSH登录
  9. mybatis-plus注解版实现多表联查(sql)
  10. JQuery封装ajax的方法