rt
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=5e4+5;
int n,a,b,c;
int x[N],dp[N],s[N];
int dq[N],l,r;
double xie(int i,int j){
return 1.0*((dp[i]+a*s[i]*s[i]-b*s[i])-(dp[j]+a*s[j]*s[j]-b*s[j]))/(s[i]-s[j]);
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(nullptr);
cin>>n>>a>>b>>c;
for(int i=1;i<=n;i++){
cin>>x[i];
s[i]=s[i-1]+x[i];
}
l=r=1;
for(int i=1;i<=n;i++){
while(l<r&&xie(dq[l],dq[l+1])>2*a*s[i]){
l++;
}
dp[i]=dp[dq[l]]+a*(s[i]-s[dq[l]])*(s[i]-s[dq[l]])+b*(s[i]-s[dq[l]])+c;
while(l<r&&xie(dq[r-1],dq[r])<xie(dq[r],i)){
r--;
}
dq[++r]=i;
}
cout<<dp[n];
return 0;
}