import sys def ok(m): nh = [] for i in h: nh.append(i-m) na = a for i in range(n): if nh[i] >= x: v = min(na,nh[i]//x) na -= v nh[i] -= v*x if na <= 0: break nh.sort() s = 0 for i in range(n-1,-1,-1): if na > 0 and nh[i] > 0: na -= 1 nh[i] -= x if nh[i] > 0: s += nh[i] if s <= b*y: return True return False n,a,b,x,y = map(int,input().split()) h = list(map(int,sys.stdin.readline().split())) h.sort() l = 0 r = 10**9 while r - l > 1: m = (r + l) // 2 if ok(m): r = m else: l = m if ok(l): print(l) else: print(r)