#include<bits/stdc++.h>
using namespace std;
long long int n,t,jg[1005],dp[1005][1005],kkk[1005],lx[1005][1005];
int main(){
cin>>n>>t;
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) {dp[i][j]=INT_MAX;lx[i][j]=INT_MAX;}
for(int i=1;i<=n;i++){
cin>>jg[i];
dp[i][i]=jg[i]*n*n;
kkk[i]=kkk[i-1]+jg[i];
for(int j=1;j<i;j++) if(jg[j]+jg[i]<=t) lx[j][i]=(jg[j]+jg[i])*(kkk[i]-kkk[j-1]);
}
for(int i=2;i<=n;i++){
for(int j=1;j<=n-i+1;j++){
dp[j][j+i-1]=lx[j][j+i-1];
for(int k=j;k<=j+i-2;k++) dp[j][j+i-1]=min(dp[j][j+i-1],dp[j][k]+dp[k+1][j+i-1]);
}
}
cout<<dp[1][n];
}
求助,4个WA,2 8 9 10