import sys N,A,B,X,Y = list(map(int,input().split())) H = list(map(int,input().split())) h = sorted(H,reverse = True) def check(K): l = [max(0,i-K) for i in h] count = 0 i = 0 while count < A and i < N: q = l[i] // X if q == 0:break q = min(A - count,q) count += q l[i] -= q * X i += 1 if count < A: l.sort(reverse = True) for i in range(min(A-count,len(l))): l[i] = 0 return sum(l) <= B * Y if check(0): print(0) exit() start = 0 end = 10 ** 9 while start != end: mid = end - (end - start + 1) // 2 if check(mid): end = mid else: start = mid + 1 print(start)