#include<bits/stdc++.h>
using namespace std;
int n,m,a[100005],l,r,mid,ans;
inline bool check(int x)
{
int tot=0,num=0;
for(int i=1;i<=n;i++)
{
if(tot+a[i]<=x)tot+=a[i];
else tot=a[i],num++;
}
return num>=m;
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i],l=max(l,a[i]),r+=a[i]; while(l<=r) { mid=l+r>>1; if(check(mid))l=mid+1; else r=mid-1; } cout<<l; return 0; }
0.0分
18 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:929 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:677 |
C语言训练-求函数值 (C语言代码)浏览:931 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:587 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:512 |
兰顿蚂蚁 (C++代码)浏览:1044 |
【金明的预算方案】 (C++代码)浏览:838 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:2090 |
Tom数 (C语言代码)浏览:492 |