都是第四个WA,就俺一人第五个WA么
查看原帖
都是第四个WA,就俺一人第五个WA么
1813156
cjzjx楼主2025/8/1 13:06
#include<bits/stdc++.h>
using namespace std;
long long sum=0,maxn=-1,s[200005],n,m;
bool check(int mid)
{
	int cnt=1;
	long long k=0;
	for(int i=1;i<=n;++i)
	{
		if(k+s[i]<=mid)	k+=s[i];
		else
		{
			cnt++;
			k=s[i];
		}
	}
	if(cnt<=m)	return 1;
	else	return 0;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;++i)
	{
		cin>>s[i];
		sum+=s[i];
		maxn=s[i]>maxn?s[i]:maxn;
	}
	long long l=maxn,r=sum,mid,k;
	while(l<=r)
	{
		mid=(l+r)/2;
		if(check(mid)==1)
		{
			r=mid-1;
		} 
		else	l=mid+1;
	}
	cout<<l;
	return 0;
	
}
2025/8/1 13:06
加载中...