Pagini recente » Cod sursa (job #1838223) | Cod sursa (job #1796868) | Cod sursa (job #2488925) | Cod sursa (job #1594032) | Cod sursa (job #3155884)
#include <bits/stdc++.h>
using namespace std;
int n,v[503];
long long dp[503][503];
ifstream fin("podm.in");
ofstream fout("podm.out");
#define INF 100000000000000000ll
int main(){
fin>>n;
for(int i=1;i<=n+1;i++)
fin>>v[i];
// for(int i=1;i<=n;i++)
// cout<<l[i]<<" "<<c[i]<<'\n';
for(int i=1;i<n;i++){
dp[i][i+1]=1ll*v[i]*v[i+1]*v[i+2];
}
// for(int i=1;i<n;i++)
// cout<<dp[i][i+1]<<" ";
for(int lun=3;lun<=n;lun++)
for(int i=1;i<=n-lun+1;i++){
int j=i+lun-1;
dp[i][j]=INF;
//dp[i][j]=min(dp[i][j-1]+l[i]*l[j]*c[j],dp[i+1][j]+l[i]*c[i]*c[i+1]);
for(int k=i;k<j;k++)
dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+1ll*v[i]*v[k+1]*v[j+1]);
}
fout<<dp[1][n];
return 0;
}