题解 100% AC
2025-07-26 18:13:51
发布于:江苏
7阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int a[30010];
bool check(int x,int n,int k){
int cnt=0,sum=0;
for(int i=1;i<=n;i++){
sum+=a[i];
if(sum>=x){
cnt++;
sum=0;
}
}
return cnt>=k;
}
int main(){
int n,k,l=0,r=0,ans=0;cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
r+=a[i];
}
while(l<=r){
int mid=l+r>>1;
if(check(mid,n,k)){
ans=mid;
l=mid+1;
}else r=mid-1;
}
cout<<ans;
return 0;
}
这里空空如也
有帮助,赞一个