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)