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)