#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=5e5+50;
int n,type,l,r,sum[N],q[N],pre[N],dp[N];
int x;
inline int read(){
int cnt=0,f=1;char c=getchar();
while(!isdigit(c)){if(c=='-')f=-f;c=getchar();}
while(isdigit(c)){cnt=(cnt<<1)+(cnt<<3)+(c^48);c=getchar();}
return cnt*f;
}
inline int val(int pos){return 2*sum[pos]-sum[pre[pos]];}
signed main(){
n=read(),type=read();
for(int i=1;i<=n;++i) x=read(),sum[i]=sum[i-1]+x;
q[++r]=0;
for(int i=1;i<=n;++i){
while(l<r&&val(q[l+1])<=sum[i]) ++l;
pre[i]=q[l];
dp[i]=dp[pre[i]]+(sum[i]-sum[pre[i]])*(sum[i]-sum[pre[i]]);
while(l<=r&&val(i)<=val(q[r]))--r;
q[++r]=i;
}
cout<<dp[n]<<endl;
return 0;
}