#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5;
long long dp[N],sum[N];
int q[N];
long long a,b,c;
long long x(int i)
{
return sum[i];
}
long long y(int i)
{
return dp[i]+a*sum[i]*sum[i]-b*sum[i];
}
double xl(int i,int j)
{
return 1.0*(y(i)-y(j))/((x(i)-x(j)));
}
int main()
{
int n;
cin>>n>>a>>b>>c;
for(int i=1;i<=n;i++)
{
long long d;
cin>>d;
sum[i]=sum[i-1]+d;
}
int l=0,r=0;
for(int i=1;i<=n;i++)
{
long long k=2*a*sum[i];
int j1=q[l],j2=q[l+1];
while(l<r&&(xl(j1,j2)>k)) l++;
int j=q[l];
dp[i]=dp[j]+a*(sum[i]-sum[j])*(sum[i]-sum[j])+b*(sum[i]-sum[j])+c;
j1=q[r],j2=q[r-1];
while(l<r&&xl(j2,j1)<=xl(j1,i)) r--;
q[++r]=i;
}
cout<<dp[n]<<endl;
return 0;
}
10分,剩下全wa