【题解】

  最大值最小化,那么一般要联想到二分。二分一个最大值,然后check一下能否分成小于等于m段即可。

 #include<cstdio>
#include<algorithm>
#include<cstring>
#define LL long long
#define rg register
#define N 200010
using namespace std;
int n,m,l,r,mid,a[N];
inline int read(){
int k=,f=; char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(''<=c&&c<='')k=k*+c-'',c=getchar();
return k*f;
}
inline int max(int x,int y){return x>y?x:y;}
inline bool check(){
int sum=,cnt=;
for(rg int i=;i<=n;i++){
sum+=a[i];
if(sum>mid) cnt++,sum=a[i];
}
return cnt<=m;
}
int main(){
n=read(); m=read();
for(rg int i=;i<=n;i++) a[i]=read(),l=max(l,a[i]-),r+=a[i];
while(l+<r){
mid=(l+r)>>;
if(check()) r=mid; else l=mid;
}
printf("%d\n",r);
return ;
}

最新文章

  1. CSS魔法堂:Box-Shadow没那么简单啦:)
  2. ESXi Install OpenWRT
  3. CentOS7 Java安装
  4. 图层的transform属性
  5. [Tomcat]如何在同一台机部署多个tomcat服务
  6. js封常用类
  7. 【 D3.js 进阶系列 】 进阶总结
  8. Shell break和continue命令
  9. Linux 程序设计的一些优化措施
  10. 循环单词 java
  11. 邮件实现详解(二)------手工体验smtp和pop3协议
  12. go语言 nsq源码解读四 nsqlookupd源码options.go、context.go和wait_group_wrapper.go
  13. ZOJ 4110 Strings in the Pocket (马拉车+回文串)
  14. pymsql模块
  15. pygame 游戏舞台搭建典型应用
  16. .Net异步实例讲解
  17. 016.OpenStack及云计算(面试)常见问题
  18. Redis Cluster日常操作命令梳理
  19. python3笔记(三)if...else、if...elif...else
  20. CentOS6.5安装Maven3.2.5

热门文章

  1. 2017阿里给Java开发者的两个福利
  2. RDA PQ工具使用 (屏参调整)
  3. bzoj4869
  4. 使用Google Closure Compiler全力压缩代码(转)
  5. codechef: ADAROKS2 ,Ada Rooks 2
  6. 二分图最大匹配(匈牙利算法) POJ 3041 Asteroids
  7. javascript面试题集
  8. c++类的内存布局
  9. 6.12---select
  10. ADPU 大全