挂了求助
查看原帖
挂了求助
478528
Molmin楼主2021/3/23 20:55
#include<bits/stdc++.h>
using namespace std;
inline int read()
{
   int s=0,w=1;
   char ch=getchar();
   while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
   while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
   return s*w;
}
inline void write(int x)
{
    if(x<0) putchar('-'),x=-x;
    if(x>9) write(x/10);
    putchar(x%10+'0');
}
int w[500005],n,a,b,w1[500005];
inline bool check(int x)
{
	for(int i=1;i<=n;i++)
	{
		w1[i]=w[i];
	}
	for(int i=1;i<=n;i++)
	{
		w1[i]-=a*x;
	}
	int Time=-x;
	for(int i=1;i<=n;i++)
	{
		if(w1[i]>0)
		{
			while(w1[i]>0)
			{
				w1[i]-=b;
				Time++;
			}
		}
	}
	if(Time>0)
	{
		return 1;
	}
	return 0;
}
int main()
{
	n=read();
	a=read();
	b=read();
	for(int i=1;i<=n;i++)
	{
		w[i]=read();
	}
	int ans,l=1,r=1e9;
	while(l<r)
	{
		int mid=l+r>>1;
		if(check(mid))
		{
			l=mid;
		}
		else
		{
			r=mid-1;
		}
	}
	write(l);
	puts("");
}
2021/3/23 20:55
加载中...