Pagini recente » Cod sursa (job #599245) | Cod sursa (job #550534) | Cod sursa (job #920284) | Cod sursa (job #1969575) | Cod sursa (job #2126724)
#include <bits/stdc++.h>
#define MAXN 500
long long d[1 + MAXN][1 + MAXN];
long long v[1 + MAXN + 1];
int main(){
FILE*fi,*fo;
fi = fopen("podm.in","r");
fo = fopen("podm.out","w");
int n;
fscanf(fi,"%d", &n);
for(int i = 1; i <= n + 1; i++) fscanf(fi,"%lld", &v[i]);
for(int i = 1; i < n; i++) d[i][i + 1] = v[i] * v[i + 1] * v[i + 2];
for(int l = 2; l <= n - 1; l++)
for(int i = 1; i + l <= n; i++){
d[i][i + l] = 1000000000000000000;
for(int j = i; j < i + l; j++)
d[i][i + l] = std::min(d[i][i + l], d[i][j] + d[j + 1][i + l] + v[i] * v[j + 1] * v[i + l + 1]);
}
fprintf(fo,"%lld", d[1][n]);
return 0;
}