敲了30min的代码 ,愣是样例没过
求 DALAO 帮调
小破码 :
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#define int long long
#define re register
#define in infine
using namespace std ;
const int INF = 0x7fffffff ;
int n ;
int m[305] ;
int dp[305][305] ;
int num[305] ;
signed main ( ) {
cin >> n ;
for(re int i = 1 ; i <= n ; i ++) {
cin >> m[i] ;
num[i] = num[i - 1] + m[i] ;
}
memset(dp , INF , sizeof(dp)) ;
for(re int len = 1 ; len <= n ; len ++) {//长度
for(re int i = len ; i + len <= n ; i ++) {//起点
int j = len + i ;//结尾
for(re int k = i ; k <= j ; k ++) {//中间点
dp[i][k] = min(dp[i][k] , dp[i][k] + dp[k + 1][k] + num[k] - num[i - 1]) ;
}
}
}
cout << dp[1][n] ;
return 0 ;
}