Pagini recente » Cod sursa (job #1440240) | Cod sursa (job #1318388) | Cod sursa (job #471192) | Cod sursa (job #1643750) | Cod sursa (job #2244223)
#include<bits/stdc++.h>
#define NMAX 505
#define ll long long
using namespace std;
const ll inf = 2000000000000;
int n;
ll dp[NMAX][NMAX], d[NMAX];
int32_t main() {
ifstream cin("podm.in");
ofstream cout("podm.out");
cin>>n;
for (int i=0; i<=n; i++) cin>>d[i];
for (int i=1, j=2; i<=n && j<=n; i++, j++) {
dp[i][j] = d[i-1]*d[i]*d[j];
}
for (int r=2; r<=n; r++) {
for (int i=1; i<=n; i++) {
int j=i+r;
dp[i][j] = inf;
for (int k=i; k<j; k++) {
dp[i][j] = min(dp[i][j], dp[i][k]+dp[k+1][j]+d[i-1]*d[k]*d[j]);
}
}
}
cout<<dp[1][n];
return 0;
}