80分蒟蒻求助!
查看原帖
80分蒟蒻求助!
349824
WsW_花逝爆零人楼主2020/8/10 22:21
#include<bits/stdc++.h>
using namespace std;
long long a[100010];
long long m,n;
bool pd(long long x){
	long long sum=0,d=1;
	for(long long i=1;i<=n;i++){
		sum+=a[i];
		if(sum>x){
			sum=a[i];
			d++;
		}
	}
	if(d<=m)return true;
	else return false;
}
int main(){
	long long sum=0;
	scanf("%lld%lld",&n,&m);
	for(long long i=1;i<=n;i++){
		scanf("%lld",&a[i]);
		sum+=a[i];
	}
	long long r=sum+1,l=0;
	long long mid=(r+l)/2;
	while(l+1<r){
		mid=(r+l)/2;
		if(pd(mid))r=mid;
		if(!pd(mid))l=mid;
	}
	printf("%lld",r);
	return 0;
}

第四个点错了

2020/8/10 22:21
加载中...