记录编号 128435 评测结果 AAAAAAAAAA
题目名称 [NOIP 2010冲刺十二]奶牛晒衣服 最终得分 100
用户昵称 Gravatar奶猹 是否通过 通过
代码语言 C++ 运行时间 0.241 s
提交时间 2014-10-17 17:58:47 内存使用 4.10 MiB
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<queue>
#include<climits>
#define max(a,b) ((a)>(b)?(a):(b))
using namespace std;
int n,a,b;
int c[500001];
int d[500001];
int sum=0;
int l=1,r=0,mid;
int ans;
void init();
void work();
void outit();
bool divide(int );
int main()
{
	freopen("dry.in","r",stdin);
	freopen("dry.out","w",stdout);
	init();
	work();
	outit();
	return 0;
}
void init()
{
	scanf("%d%d%d",&n,&a,&b);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&c[i]);
		r=max(r,c[i]);
	}
	
}
void work()
{
	
	while(l<=r)
	{
		mid=(l+r)>>1;
		if(divide(mid))
		l=mid+1;
		else
		{
			r=mid-1;
			ans=mid;
		} 
	} 
}
void outit()
{
	printf("%d\n",ans);
}
bool divide(int x)
{
	int cnt=0;
	int t=x*a;
	for (int i=1;i<=n;++i)
	{
		if (c[i]<=t)continue;
		if (!((c[i]-t)%b))
		cnt+=(c[i]-t)/b;
		else
		cnt+=(c[i]-t)/b+1;
	}
	if (cnt<=x)  return 0;
	else  return 1;	
	
}