#include using namespace std; typedef long long ll; typedef pair P; #define F first #define S second ll n,A,B,W,d[300005],dp[300005]; P dq[300005]; bool check(P a,P b,P c){return (a.F-b.F)*(b.S-c.S)>=(a.S-b.S)*(b.F-c.F);} int main(void){ scanf("%lld%lld%lld%lld",&n,&A,&B,&W); for(int i=1;i<=n;i++)scanf("%lld",d+i); dp[0]=W; ll l=0,r=0; for(ll i=1;i<=n+1;i++){ P p=P(-B*i,dp[i-1]+B*i*(i-1)/2+i*A); while(r-2>=l&&check(dq[r-2],dq[r-1],p))r--; dq[r++]=p; while(l+1