代码:
#include<bits/stdc++.h>
using namespace std;
int n,m,a[100007];
int find(){
int l=1,r=INT_MAX;
while(l<r){
int mid=(l+r)>>1;
int s=0,ans=1;
for(int i=0;i<n;i++){
s+=a[i];
if(s>mid) s=a[i],ans++;
}
if(ans<=m) r=mid;
else l=mid+1;
}
return l;
}
signed main(){
cin>>n>>m;
for(int i=0;i<n;i++) cin>>a[i];
cout<<find();
return 0;
}
评测记录:https://www.luogu.com.cn/record/233636191