为什么输入都没法输了?
#include<iostream>
using namespace std;
#define INF 0x3f3f3f3f
#define N 40001
int n;
int sz[2*N];
int sum[2*N];
int dp_min[N*2][N*2];
int main(){
cin>>n;
for(int i = 1 ; i <= n ; i++){
cin>>sz[i];
sz[i + n] = sz[i];
}
for(int i = 1 ; i <=2 * n ;i++){
sum[i] = sum[i - 1] + sz[i];
}
for(int len = 2 ; len <= n ; len++){
for(int left = 1 ; left + len - 1 <= 2 * n ; left++){
int right = left + len - 1;
dp_min[left][right] = INF;
for(int k = left ; k < right ; k++){
dp_min[left][right] = min(dp_min[left][right] , dp_min[left][k] + dp_min[k + 1][right] + sum[right] - sum[left - 1]);
}
}
}
int smin = INF;
for(int i = 1 ; i <= n ; i++){
smin = min(smin , dp_min[i][i + n - 1]);
}
cout<<smin<<endl;
return 0;
}