#include using namespace std; int main(){ int N; cin >> N; long long A, B, X, Y; cin >> A >> B >> X >> Y; vector H(N); for(int i = 0; i < N; i++) cin >> H[i]; long long ub = 1000000000, lb = -1; while(ub - lb > 1){ int mid = (ub + lb) / 2; priority_queue q; for(int i = 0; i < N; i++) { if(H[i] > mid) q.push(H[i] - mid); } long long a = A; while(!q.empty() && a > 0){ long long temp = q.top(); q.pop(); int cnt = min(temp / X, a); if(cnt == 0) cnt++; temp -= X * cnt; if(temp > 0) q.push(temp); a -= cnt; } long long sum = 0; while(!q.empty()){ sum += q.top(); q.pop(); } if(sum <= B * Y) ub = mid; else lb = mid; } cout << ub << endl; }