#include<bits/stdc++.h>
#define cnm 1010100//宏定义
using namespace std;
long long t,n,a,b,sum,f[cnm],max=INT_MIN,num=0;//定义
bool cao(int x){
long long cnt=0;//定义
for(int i=1;i<=n;i++){//遍历
if(f[i]>a*x)cnt+=ceil((f[i]-a*x)*1.0/b);
//如果 f[i]>a*x
//那么cnt+它
}
return cnt<=x;
//返回
}
int main(){
long long left,right;//定义左右边界
cin>>n>>a>>b;
for(int i=1;i<=n;i++){
cin>>f[i];//读入
}
for(int i=1;i<=n;i++){
num+=f[i]; //获取右边界
}
//二分!
left=0;//定义left=0
right=num; //定义 right=num
while(left<=right){
int m=(left+right)/2;//获取中间值
if(cao(m)){//调用函数
sum=m;
right=m-1;//减少右边界
}else{
left=m+1;//增加左边界
}
}
cout<<sum;//输出
return 0;//结束
}
//本代码由myymyymyy123发表,未经我同意,不得转载!!!