输不出数求助!
查看原帖
输不出数求助!
704634
poor_OIer楼主2024/7/27 22:54
#include<bits/stdc++.h>
using namespace std;
int n,a,b,ans,w[500005];
bool check(int x)
{
	int sum=0;
	for(int i=1;i<=n;i++)
	{
		int rest=w[i]-a*x;
		if(rest<=0)
			continue;
		int dry=rest/x;
		if(rest%x)
			dry++;
		sum+=dry;
		if(sum>x)
			return false;
	}
	return true;
}
int main()
{
	cin>>n>>a>>b;
	for(int i=1;i<=n;i++)
		cin>>w[i];
	int left=0,right=500010;
	while(left<=right)
	{
		int mid=(left+right)/2;
		if(check(mid))
			right=mid-1;
		else
			left=mid+1,ans=mid;
	}
	cout<<ans;
	return 0;
}
2024/7/27 22:54
加载中...