Pagini recente » Cod sursa (job #2393199) | Cod sursa (job #2167361) | Cod sursa (job #629289) | Cod sursa (job #4213) | Cod sursa (job #2566322)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("podm.in");
ofstream fout ("podm.out");
long long n, i, d, k;
long long D[505];
long long m[505][505];
int main(){
fin >> n;
for (i=0; i<=n; i++){
fin >> D[i];
}
for (i=1; i<=n; i++){
m[i][i] = 0;
}
for (i=1; i<n; i++){
m[i][i+1] = D[i-1]*D[i]*D[i+1];
}
for (i=2; i<n; i++){
for (d=1; i+d<=n; d++){
m[d][i+d] = LLONG_MAX;
for (k=d; k<=i+d-1; k++){
m[d][i+d] = min (m[d][i+d], m[d][k] + m[k+1][i+d] + D[d-1]*D[k]*D[i+d]);
}
}
}
fout << m[1][n];
return 0;
}