第四个过不去
查看原帖
第四个过不去
320883
白面葫芦娃楼主2020/10/4 16:57
#include <iostream>
using namespace std;
int n,m,a[100005];
int check(int k){
	int sum=1,x=0;
	for(int i=0;i<n;i++){
		if(x+a[i]<=k) x+=a[i];
		else x=a[i],sum++;
	}
	if(sum<=m) return 1;
	else return 0;
}
int main(){
	cin>>n>>m;
	for(int i=0;i<n;i++)
		cin>>a[i]; 
	int l=1,r=1e9;
	while(l<r){
		int mid=(l+r)>>1;
		if(check(mid)) r=mid;
		else l=mid+1;
	}
	cout<<l<<endl;
	return 0;
}
2020/10/4 16:57
加载中...