_n,_a,_b,_x,_y,*H = map(int,open(0).read().split()) def f(k): n,a,b,x,y = _n,_a,_b,_x,_y y *= b L = [] for h in H: h -= k if h <= 0: continue m = min(a,h//x) h -= x*m a -= m L.append(h) L.sort() while L and a: L.pop() a -= 1 return sum(L) <= y ng,ok = -1,max(H) while ok-ng > 1: k = (ok+ng)//2 if f(k): ok = k else: ng = k print(ok)