Pro4
原始文件为 CPP 代码,本文是转换后的 Markdown 文件。
#include <iostream>
#include <cstring>
#include <cstdio>
#include <string>
#include <vector>
using namespace std;
int mymin(int a, int b)
{
if (a < 0) return b;
else if (b < 0) return a;
else if (a < b) return a;
else return b;
}
int result[1005][1005];
int sum[1005];
void init()
{
memset(sum,0,sizeof(sum));
memset(result,-1,sizeof(result));
for (int i = 0; i < 1005; ++i) result[i][i] = 0;
}
int main()
{
freopen("in.txt","r",stdin);
int num; scanf("%d",&num);
for (int i = 1; i <= num; ++i)
{
int value; scanf("%d",&value);
sum[i] = sum[i-1] + value;
}
for (int time = 1; time < num; ++time)
{
for (int i = 1; i <= num-time; ++i)
{
int j = i + time;
for (int k = i; k < j; ++k)
{
result[i][j] = mymin(result[i][j],result[i][k]+result[k+1][j]+sum[j]-sum[i-1]);
// printf("result[%d][%d] = %d\n", i, j, result[i][j]);
}
}
}
cout << result[1][num] << endl;
}