N,A,B,X,Y=map(int,input().split())
H=list(map(int,input().split()))
H.sort()
l=-1
r=max(H)
while(r-l>1):
    mid=(r+l)//2
    Z=[max(x-mid,0) for x in H]
    cnt=A
    for i in range(N):
        if Z[i]>=X:
            if cnt>Z[i]//X:
                cnt-=Z[i]//X
                Z[i]%=X
            else:
                Z[i]-=cnt*X
                cnt=0
                break
    if cnt>0:
        Z.sort(reverse=True)
        for i in range(min(N,cnt)):
            Z[i]=0
    if sum(Z)<=B*Y:
        r=mid
    else:
        l=mid
print(r)