Pagini recente » Borderou de evaluare (job #191566) | Cod sursa (job #266266) | Cod sursa (job #2411605) | Cod sursa (job #3276116) | Cod sursa (job #3274361)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
const int INF=INT_MAX;
vector <vector <int>> dp(501, vector<int>(501, INF));
int dim[502];
int x, i, j, k, l, n;
int main(){
fin>>n;
for(int i=0;i<=n;i++){
fin>>dim[i];
dp[i][i]=0;
}
for(l=1;l<=n-1;l++){
for(i=1;i<=n-l;i++){
j=i+l;
for(int k=i;k<j;k++){
int d=dp[i][k]+dp[k+1][j]+dim[i-1]*dim[k]*dim[j];
if(d<dp[i][j]) dp[i][j]=d;
}
}
}
fout<<dp[1][n];
return 0;
}