Pagini recente » aladin_si_lampa_fermecata_round15 | Cod sursa (job #1177385) | Cod sursa (job #2651091) | Istoria paginii runda/cristi_62200/clasament | Cod sursa (job #2960503)
#include <bits/stdc++.h>
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
long long n,v[501],dp[501][501];
int main()
{
in>>n;
for(int i = 1;i<=n+1;i++)
{
in>>v[i];
}
// for(int i = 1;i<=n;i++)
// out<<v1[i]<<" "<<v2[i]<<"\n";
for(int i = 1;i<=n-1;i++)
{
dp[i][i+1] = v[i]*v[i+1]*v[i+2];
}
for(int dif = 2;dif<=n;dif++)
{
for(int i = 1;i<=n-dif;i++)
{
long long minim = 1e18;
for(int k = i;k < i+dif;k++)
minim = min(minim, dp[i][k] + dp[k+1][i+dif] + v[i]*v[i+dif+1]*v[k+1]);
dp[i][i+dif] = minim;
}
}
/* for(int i = 1;i<=n;i++)
{
for(int j = 1;j<=n;j++)
out<<dp[i][j]<<" ";
out<<"\n";
}*/
out<<dp[1][n];
return 0;
}