import heapq n, a, b, x, y = map(int, input().split()) h = list(map(int, input().split())) ok = 10 ** 9 ng = -1 while abs(ok - ng) > 1: mid = (ok + ng) // 2 hp = [] for i in range(n): if h[i] > mid: heapq.heappush(hp, - (h[i] - mid)) rest = a while rest > 0 and len(hp) > 0: cur = heapq.heappop(hp) rest -= 1 if - cur - x > 0: heapq.heappush(hp, cur + x) if - sum(hp) <= b * y: ok = mid else: ng = mid print(ok)