#include <iostream>
#include <math.h>
int tamesi(long long n,long long a,long long b,long long h[],long long ans);
int main(){
long long n,a,b;
scanf("%lld%lld%lld",&n,&a,&b);
long long h[n];
for(int i=0;i<n;i++){
scanf("%lld",&h[i]);
}
long long ans=0;
while(tamesi(n,a,b,h,ans)==0){
ans+=100000000;
}
ans-=100000000;
while(tamesi(n,a,b,h,ans)==0){
ans+=10000000;
}
ans-=10000000;
while(tamesi(n,a,b,h,ans)==0){
ans+=1000000;
}
ans-=1000000;
while(tamesi(n,a,b,h,ans)==0){
ans+=100000;
}
ans-=100000;
while(tamesi(n,a,b,h,ans)==0){
ans+=10000;
}
ans-=10000;
while(tamesi(n,a,b,h,ans)==0){
ans+=1000;
}
ans-=1000;
while(tamesi(n,a,b,h,ans)==0){
ans+=100;
}
ans-=100;
while(tamesi(n,a,b,h,ans)==0){
ans+=10;
}
ans-=10;
while(tamesi(n,a,b,h,ans)==0){
ans+=1;
}
printf("%lld\n",ans);
return 0;
}
int tamesi(long long n,long long a,long long b,long long h[],long long ans){
long long kari=0;
long long z[n];
for(long long i=0;i<n;i++){
z[i]=h[i];
z[i]=z[i]-ans*b;
if(z[i]<=0){z[i]=0;}
kari+=ceil(z[i]*1.0/(a-b)*1.0);
}
if(kari<=ans){return 1;}
else{return 0;}
}
./Main.cpp: In function ‘int main()’:
./Main.cpp:10:33: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%lld%lld%lld",&n,&a,&b);
^
./Main.cpp:15:24: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%lld",&h[i]);
^