3AC,2WA 蒟蒻求改(c++)
查看原帖
3AC,2WA 蒟蒻求改(c++)
921176
leiwenjin1234楼主2023/8/31 10:17
#include<iostream>
using namespace std;
long long a[100005], n, s, m, e;
long long f(int x) {
	long long na = 1,c=0;
	for (int i = 1; i <= n; i++) {
 if(c+a[i]<=x)c+=a[i];
        else c=a[i],na++;

	}
	return na;
}
long long efda() {
    long long mid,l=0,r=s;
	while(l<r){
        mid=(l+r)>>1;
        if(f(mid)<=m)r=mid;
        else l=mid+1;
    }
    return (l+r)/2;
}

int main() {
	cin>>n>>m;
	s=0;
	for (long long i = 1; i <= n; i++) {
		cin>>a[i];
		s+=a[i];
	}
	cout<< efda();

}
/*
10 4
4 2 4 5 1 4 5 2 1 7
*/ 

2023/8/31 10:17
加载中...