#include using namespace std; #define int long long #define REP(i,m,n) for(int i=(m);i<(n);i++) #define rep(i,n) REP(i,0,n) #define pb push_back #define all(a) a.begin(),a.end() #define rall(c) (c).rbegin(),(c).rend() #define mp make_pair #define endl '\n' //#define vec vector //#define mat vector > #define fi first #define se second //#define double long double typedef long long ll; typedef unsigned long long ull; typedef pair pll; //typedef long double ld; typedef complex Complex; const ll INF=1e9+7; const ll MOD=998244353; const ll inf=INF*INF; const ll mod=MOD; const ll MAX=100010; const double PI=acos(-1.0); typedef vector > mat; typedef vector vec; void solve(){ ll n;cin>>n; ll a,b,x,y;cin>>a>>b>>x>>y; vectorz(n); rep(i,n)cin>>z[i]; { ll mid=0; vectorh(n); rep(i,n)h[i]=z[i]; rep(i,n)h[i]=max(0LL,h[i]-mid); ll cnt=0; ll sum=0; rep(j,n){ cnt+=h[j]/x; h[j]%=x; sum+=h[j]; } ll aa=a; ll d=min(cnt,aa); cnt-=d,aa-=d; sum+=cnt*x; sort(rall(h)); rep(i,n){ if(aa){ aa--; sum-=h[i]; } } if(b*y>=sum){ cout<<0<1){ s++; ll mid=(r+l)/2; vectorh(n); rep(i,n)h[i]=z[i]; rep(i,n)h[i]=max(0LL,h[i]-mid); ll cnt=0; ll sum=0; rep(j,n){ cnt+=h[j]/x; h[j]%=x; sum+=h[j]; } ll aa=a; ll d=min(cnt,aa); cnt-=d,aa-=d; sum+=cnt*x; sort(rall(h)); rep(i,n){ if(aa){ aa--; sum-=h[i]; } } if(b*y>=sum){ r=mid; }else{ l=mid; } } cout<