感觉注释掉的这句特判没什么用啊
查看原帖
感觉注释掉的这句特判没什么用啊
250699
mot1ve楼主2022/9/10 11:05

但WA3个点,呜呜呜

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,l,r=0x3f3f3f3f,ans;
int a[100010];
bool check(int x) 
{
	int now=0,tot=1;
	for(int i=1;i<=n;i++)
	{
		//if(a[i]>x)//直接没法装
		//return 0; 
		if(now+a[i]<=x)
		{
			now+=a[i];
		}
		else 
		{
			now=a[i];
			tot++;
		} 
	}
	return tot<=m;
}
signed main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&a[i]);
	}
	while(l<=r)
	{
		int mid=(l+r)>>1;
		if(check(mid))
		{
			ans=mid;
			r=mid-1;
		}
		else l=mid+1;
	}
	cout<<ans;
	return 0;
}
2022/9/10 11:05
加载中...