洛谷传送门

输入时处理出最小的答案和最大的答案,然后二分答案即可。

其余细节看代码

 #include <iostream>
#include <cstdio> using namespace std; int n, m, a[], x, y, ans = ; bool pd(int mid)
{
int i, sum = , tot = ;
for(i = ; i <= n; i++)
{
sum += a[i];
if(sum > mid)//分段数+1
{
sum = a[i];
tot++;
}
}
if(tot > m) return ;
return ;//如果是小于m的话也还可以再分
} int main()
{
int i, j, mid;
scanf("%d %d", &n, &m);
for(i = ; i <= n; i++)
{
scanf("%d", &a[i]);
x = max(x, a[i]);//答案最小
y += a[i];//答案最大
}
while(x <= y)
{
mid = (x + y) >> ;
if(pd(mid)) y = mid - ;
else x = mid + ;
}
printf("%d", x);
return ;
}

最新文章

  1. IOS自定义表格UITableViewCell
  2. WPF Datagrid multiple selecteditems in MVVM
  3. C# 刷新页面浏览次数(点击量)+1
  4. (实用篇)PHP不用递归遍历目录下所有文件的代码
  5. [Tex学习]给汉字注音
  6. java.lang.ClassNotFoundException: org.hibernate.annotations.common.reflection.MetadataProvider
  7. anglarjs概述
  8. MAC 下虚拟主机的配置
  9. 最全最详细:ubuntu16.04下内核编译以及设备驱动程序的编写(针对新手而写)
  10. CameraLink通信接口的一般定义
  11. Lesson 1-2
  12. BindingResult 作用原理
  13. 通过Application配置全局的Context
  14. IDEA快捷键整理
  15. hdu 1025 上面n个点与下面n个点对应连线 求最多能连有多少条不相交的线 (LIS)
  16. Codeforces 510 E. Fox And Dinner
  17. .NET零基础入门之02:源码控制管理器的使用
  18. day08(异常处理,创建异常,finally,throws和throw的区别)
  19. 在window 8 或windows2012 上用命令行安装framework3.5 方法
  20. 20155313 2016-2017-2 《Java程序设计》第十周学习总结

热门文章

  1. Python 版本对比
  2. Array(数组)的基本方法
  3. xutils3批量上传文件
  4. php 生成饼状图,折线图,条形图 通用类
  5. UVA 10288 Coupons 彩票 (数学期望)
  6. html文本溢出显示省略字符的两种常用方法
  7. 第二周作业xml学习情况
  8. Android(java)学习笔记166:上下文的区分
  9. gocode安装不上的解决办法
  10. 【thinkPHP5实现文件上传】