萌新学二分,WA80分,大佬们帮忙看看QAQ
查看原帖
萌新学二分,WA80分,大佬们帮忙看看QAQ
133204
SSStrayer楼主2021/11/23 17:23
#include <iostream>
#define LL long long
using namespace std;
LL a[100005];
LL sum;
LL t,n;
int main() {
	LL min;
	LL mid;
	int N,K;
	cin >> N >> K;
	for(LL i=0; i<N; i++) {
		cin>>a[i];
		sum+=a[i];
		min>a[i]? min=a[i]:min=min;
	}
	while(min<sum) {
		mid=(min+sum)/2;
		t=0;
		n=1;
		for(LL i=0; i<N; i++) {
			if(a[i]+t<=mid) t+=a[i];
			else {
				n++;
				t=a[i];
			}
		}
		if(n<=K) sum=mid;
		else min=mid+1;
	}
	cout << sum << endl;
	return 0;
}
2021/11/23 17:23
加载中...