0
已解决
题目链接: 酷丁编程:14483
#include<bits/stdc++.h>
using namespace std;
long long n, c, a[505];
bool check(long long mid) {
long long cnt=1,sum=0;
for(long long i=1; i <= n; i++) {
if(a[i]>mid) return 0;
if(sum+a[i]>mid) {
cnt++;
sum=a[i];
} else {
sum+=a[i];
}
}
return cnt <= c;
}
int main() {
cin >> n >> c;
for(long long i=1; i <= n; i++) {
cin >> a[i];
}
long long l = 0, r =1000000000, ans;
while(l <= r) {
long long mid=(l+r)/2;
if(check(mid)) {
ans = mid;
r = mid-1;
} else {
l = mid+1;
}
}
cout<<ans;
return 0;
}
到底怎么写才能到100分啊,总是WA70分
