#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,t,a[5010],s[5010],f[5010][5010],ansn=1e9;
signed main(){
cin>>n>>t;
if(n==1&&t==0){
cin>>a[1];
cout<<a[1]*a[1];
}
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++)s[i]=s[i-1]+a[i];
memset(f,0x3f,sizeof(f));
//f[1][1]=s[1]*s[1];
f[0][0]=0;
for(int j=1;j<=n;j++){
for(int i=j;i<=n;i++){
for(int k=0;k<=j;k++){
if((s[i]-s[j-1])*(s[i]-s[j-1])>=(s[j-1]-s[k-1])*(s[j-1]-s[k-1])){
f[j][i]=min(f[k][j-1]+(s[i]-s[j-1])*(s[i]-s[j-1]),f[j][i]);
//cout<<i<<" "<<j<<" "<<k<<" "<<(s[j-1]-s[k])*(s[j-1]-s[k])<<" "<<(s[i]-s[j-1])*(s[i]-s[j-1])<<endl;
}
//cout<<"A:"<<j<<" "<<i<<" "<<f[j][i]<<endl;
}
if(i==n){
ansn=min(ansn,f[j][i]);
//cout<<ansn<<endl;
}
}
}
cout<<ansn;
return 0;
}
想要先打一个部分分。。。可是明明样例和下载的数据都过了却是0pt,是输出有什么问题吗?