#include #include #include #include #include #include using namespace std; const int N=5e5+5; int n,x,y; int a[N]; bool check(int mid){ long long f=0; for(int i=1;i<=n;i++){ if(a[i]>midx){ f+=(a[i]-midx)/y; if((a[i]-midx)%y!=0) f++; } } if(f<=mid){ return 1; }else{ return 0; } } int main(){ cin>>n>>x>>y; for(int i=1;i<=n;i++){ cin>>a[i]; } int l=1,r=1e8,mid; while(l<=r){ mid=l+(r-l)/2; if(check(mid)){ r=mid-1; }else{ l=mid+1; } } cout<<r+1;```c #include #include #include #include #include #include using namespace std; const int N=5e5+5; int n,x,y; int a[N]; bool check(int mid){ long long f=0; for(int i=1;i<=n;i++){ if(a[i]>midx){ f+=(a[i]-midx)/y; if((a[i]-midx)%y!=0) f++; } } if(f<=mid){ return 1; }else{ return 0; } } int main(){ cin>>n>>x>>y; for(int i=1;i<=n;i++){ cin>>a[i]; } int l=1,r=1e8,mid; while(l<=r){ mid=l+(r-l)/2; if(check(mid)){ r=mid-1; }else{ l=mid+1; } } cout<<r+1; return 0; }
}