Pagini recente » Cod sursa (job #268642) | Cod sursa (job #303068) | Cod sursa (job #1926375) | Cod sursa (job #417075) | Cod sursa (job #2852846)
#include <bits/stdc++.h>
using namespace std;
const int nmax = 505;
const int INF = INT_MAX - 14;
ifstream fin("podm.in");
ofstream fout("podm.out");
int N;
int dim[nmax];
int best_scalar[nmax][nmax];
int main() {
fin >> N;
for(int i = 0; i <= N; ++i) {
fin >> dim[i];
}
for(int i = 1; i <= N; ++i) {
best_scalar[i][i] = 1;
}
for(int dist = 1; dist <= N; ++dist)
for(int i = 1; i <= N - dist; ++i) {
int j = i + dist;
best_scalar[i][j] = INF;
for(int k = i; k <= j - 1; ++k)
best_scalar[i][j] = min(best_scalar[i][j],
best_scalar[i][k] +
best_scalar[k + 1][j]
+ dim[i - 1] * dim[k]
* dim[j]);
}
fout << best_scalar[1][N] << '\n';
return 0;
}