Pagini recente » Rating Gosman Alexia (alexxia.gabriela) | Cod sursa (job #2398863) | Cod sursa (job #2504289) | Cod sursa (job #773339) | Cod sursa (job #1791360)
#include <iostream>
#include <cstdio>
#include <cstring>
#include <climits>
#define DMAX 10005
using namespace std;
long long n;
long long d[DMAX];
long long mat[505][505];
void init()
{
for (int i=0; i<=n; i++)
for(int j=0; j<=n; j++)
mat[i][j]= LLONG_MAX;
for (int i=0; i<=n; i++)
mat[i][i] = 0;
}
void solve()
{
int ind;
for(int j=2; j<=n; j++)
{
for(int i=1; i<=n-j+1; i++)
{
int ind = j+i-1;
for(int k=i; k<ind; k++)
mat[i][ind]=min(mat[i][ind],mat[i][k]+mat[k+1][ind]+d[i-1]*d[ind]*d[k]);
}
}
printf("%lld", mat[1][n]);
}
int main()
{
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
scanf("%lld\n", &n);
init();
for (int i=0; i<=n; i++)
scanf("%lld ", &d[i]), mat[i][i] = 0;
solve();
return 0;
}