第四个点
Wrong Answer.wrong answer On line 1 column 6, read 3, expected 2.
#include<bits/stdc++.h>
using namespace std;
long long n,m;
int a[100011],l=-1,r=0,mid;
bool check(int x){
long long t=0,sum=0;
for(int i=1;i<=n;i++){
t+=a[i];
if(a[i]>x){
return false;
}
if(t>x){
t=0;
sum++;
i--;
}
}if(sum<m) return false;
return true;
}
int main(){
bool t;
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
l=max(a[i],l);
r+=a[i];
}while(l<r){
mid=(l+r+1)/2;
t=check(mid);
if(!t){
r=--mid;
}else if(t){
l=mid;
}
}cout<<++l;
return 0;
}
谢谢