题目描述

思路

代码

#include <cstdio>

int n, m, arr[100005], ans;
int l, r, mid, inf = 0x7f3f3f3f;
inline int read() {
int s = 0, f = 1;
char ch = getchar();
while (ch < '0' || ch > '9') {
if (ch == '-') f = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9') s = s * 10 + ch - '0', ch = getchar();
return s * f;
return 0;
}
bool valid(int x) {
int cnt = 0, sum = 0;
for (int i = 1; i <= n; ++i) {
if (arr[i] > x) return false;
if (sum + arr[i] <= x) sum += arr[i];
else cnt++, sum = arr[i];
}
if (sum != 0) cnt++;
return cnt <= m;
} int main() {
n = read(), m = read();
for (int i = 1; i <= n; ++i) arr[i] = read();
l = 0, r = inf;
while (l <= r) {
mid = l + r >> 1;
if (valid(mid)) ans = mid, r = mid - 1;
else l = mid + 1;
}
printf("%d", ans);
return 0;
}

最新文章

  1. C#网络编程——IPHostEntry
  2. @Transactional 事务管理
  3. Emberjs之ComputedProperty
  4. Javascrpt无刷新文件上传
  5. 【BZOJ】2277: [Poi2011]Strongbox
  6. 字符串 —— String?StringBuffer?StringBuilder?
  7. HTML 中的meta标签中的http-equiv与name属性使用介绍
  8. 如何在Ubuntu上安装最新版本的Node.js
  9. C 小写字母编程大写并输出
  10. CRC 模式及实现
  11. 基于VMware的eCos应用程序测试(hello wold)
  12. 修改linux多系统启动顺序
  13. 在DFS和BFS中一般情况可以不用vis[][]数组标记
  14. 强大的数据库工具 dbForge Studio ForMySql
  15. Shell命令-线上查询及帮助之man、help
  16. [luogu3258][JLOI2014]松鼠的新家
  17. Chrome插件消息传递实例
  18. golang语言中os/signal包的学习与使用
  19. 排查linux下java应用cpu占用过高
  20. 使用google字体发生http://fonts.gstatic.com/s/ubuntu/v8/_aijTyevf54tkVDLy-dlnFtXRa8TVwTICgirnJhmVJw.woff2

热门文章

  1. something about 乘法逆元
  2. 洛谷 题解 P2721 【摄像头】
  3. shell脚本编程基础之自定义函数库
  4. x32下的DLL隐藏
  5. rust 函数的使用
  6. Server 2003 操作系统位数
  7. 共线性图 | Alluvial Diagrams | Parallel plot | Parallel Coordinates Plot
  8. Linux零拷贝技术 直接 io
  9. PHP session_start() open failed: Permission denied session 无法使用的问题
  10. 数据分析入门——pandas之DataFrame多层/多级索引与聚合操作