Pagini recente » Cod sursa (job #2688041) | Cod sursa (job #1808217) | Cod sursa (job #1998252) | Cod sursa (job #142455) | Cod sursa (job #1245579)
#include<stdio.h>
#include<algorithm>
using namespace std;
#define NMAX 502
#define INF 2000000000000000000
int n, v[NMAX];
unsigned long long dp[NMAX][NMAX];
int main()
{
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
int lim;
scanf("%d", &n);
++n;
for(int i=1; i<=n; ++i)
scanf("%d", &v[i]);
for(int i=0; i<=n; ++i)
{
dp[i][i]=0;
for(int j=i+1; j<=n; ++j)
dp[i][j]=INF;
}
for(int l=2; l<n; ++l)
{
for(int i=1, j=l; j<n; ++i, ++j)
{
for(int k=i; k<j; ++k)
{
dp[i][j]=min(dp[i][j], dp[i][k]+(unsigned long long)v[i]*v[j+1]*v[k+1]+dp[k+1][j]);
}
}
}
printf("%llu\n", dp[1][n-1]);
return 0;
}