大佬帮me
#include<bits/stdc++.h>
using namespace std;
int n,m,a[9999];
int kk,mid;
bool cxk(int k){
int ans=0,c=1;
for(int i=1;i<=n;i++){
if(a[i]>k) return false;;
if(ans+a[i]<=k) ans+=a[i];
else{
c++;
ans=a[i];
}
}
return c<=m;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
kk+=a[i];
}
int l=0,r=kk;
while(l<r){
mid=(l+r)/2;
if(cxk(mid)) r=mid;
else l=mid+1;
}
if(!cxk(l))cout<<l;
else cout<<r;
return 0;
}