时间限制: 1 s
 空间限制: 256000 KB
 题目等级 : 黄金 Gold
题目描述 Description

给定 n 个整数(不一定是正整数)组成的序列,现在要求将序列分割为 m 段,每段子序列中的数在原序列 中连续排列。如何分割才能使这 m 段子序列的和的最大值达到最小?

输入描述 Input Description

文件的第 1 行中有 2 个正整数 n 和 m。 正整数 n 是序列 的长度;正整数 m 是分割的断数。 接下来的一行中有 n 个整数。

输出描述 Output Description

文件的第 1 行中的数是计算出 的 m 段子序列的和的最大值的最小值。

样例输入 Sample Input

1 1

10

样例输出 Sample Output

10

数据范围及提示 Data Size & Hint

N<=1000,M<=N

二分做法 点击传送

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdio> using namespace std; int ans,l,r,n,m,i,a[+];
int judge(int now)
{
int tot=,x=;
for(i=;i<n;++i)
{
if(a[i]>now) return ;
if(a[i]+x<=now)
x+=a[i];
else
{
x=a[i];
tot++;
if(tot>=m) return ;
}
}
return ;
}
int main()
{
cin>>n>>m;
for(i=;i<n;++i)
{
cin>>a[i];
r+=a[i];
}
while(l<=r)
{
int mid=(l+r)>>;
if(judge(mid))
{
ans=mid;
r=mid-;
}
else l=mid+;
}
cout<<ans;
}

最新文章

  1. 希尔排序(java)
  2. HTML5 与 CSS3 jQuery部分知识总结
  3. 处理某个json文件的代码
  4. 用keras的cnn做人脸分类
  5. JNI笔记
  6. Storyboards
  7. iOS - CoreMotion
  8. C++高精度运算类bign (重载操作符)
  9. django post方法不能提交
  10. 代码生成引擎之T4模版
  11. poj1799---解析几何
  12. Installshield关于.NET安装时需要重启动的处理办法,以及延伸出的重启后继续安装的安装包的一点想法
  13. SQL Server 2008 定时作业的制定
  14. oracle关键字(保留字)
  15. BZOJ 1185: [HNOI2007]最小矩形覆盖 [旋转卡壳]
  16. spring3——IOC之基于XML的依赖注入(DI )
  17. 关于最新的APP上架流程
  18. oracle 执行顺序 select查询优化
  19. Linux 小知识翻译 - 「内核(kernel)」
  20. hdu 2845 Beans(最大不连续子序列和)

热门文章

  1. 自适应文案提示框、无数据图片加载&lt;IOS小组件&gt;
  2. cx_Oracle库导入失败引起crontab中python程序运行失败,并且无错误提示
  3. Android布局中的layout_weight和weightSum属性的详解及使用
  4. bzoj 3778: 共鸣【计算几何+dp】
  5. 阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:8. 委托事件
  6. mysql--浅谈视图1
  7. JSON脱敏
  8. URI URN URL的RFC参考文档
  9. Flask (三) 数据迁移
  10. Codeforces Round #542(Div. 2) B.Two Cakes