from heapq import heappop as pop, heappush as push, heapify N, A, B, X, Y = map(int, input().split()) H = list(map(int, input().split())) def solve(k): hh = list(map(lambda x: -(x-k), H)) heapify(hh) for _ in range(A): h = -pop(hh) h -= X push(hh, -h) remain = 0 for h in hh: remain += max(0, -h) return remain <= Y*B ok, ng = max(H), -1 while abs(ok-ng) > 1: mid = (ok+ng)//2 if solve(mid): ok = mid else: ng = mid print(ok)