#include <iostream>
using namespace std;
const int N = 307;
int s[N];
int f[N][N];
int main() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> s[i];
        s[i] += s[i - 1];
    }
    for (int i = n; i >= 1; i--) {
        for (int j = i; j <= n; j++) {
            if (j == i) {
                f[i][j] = 0;
                continue;
            }
            f[i][j] = 1e9;
            for (int k = i; k < j; k++) {
                f[i][j] = min(f[i][j], f[i][k] + f[k + 1][j] + s[j] - s[i - 1]);
            }
        }
    }
    cout << f[1][n] << endl;
    return 0;
}

0 条评论

目前还没有评论...

信息

ID
277
时间
ms
内存
MiB
难度
4
标签
递交数
46
已通过
24
上传者