Pagini recente » Cod sursa (job #1210926) | Cod sursa (job #2081031) | Cod sursa (job #2278532) | Cod sursa (job #1827324) | Cod sursa (job #3216059)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int n;
int m[505];
long long dp[505][505];
int main(){
fin>>n;
for(int i=1;i<=n+1;i++)
fin>>m[i];
//d=i-j
for(int d=1;d<=n-1;d++){
for(int i=1;i<=n-d;i++){
int j=i+d;
for(int h=i;h<=j;h++)
if(dp[i][j]==0)
dp[i][j]=dp[i][h]+dp[h+1][j]+
m[i]*m[h+1]*m[j+1];
else
dp[i][j]=min(dp[i][j],
dp[i][h]+dp[h+1][j]+
m[i]*m[h+1]*m[j+1]);
}
}
fout<<dp[1][n];
return 0;
}