Pagini recente » Cod sursa (job #1225456) | Cod sursa (job #3199709) | Cod sursa (job #2434400) | Cod sursa (job #629883) | Cod sursa (job #1739339)
#include <iostream>
#include <cstdio>
#define NMAX 505
#define inf 200000000
using namespace std;
int N;
int d[NMAX];
int dp[NMAX][NMAX];
void citire()
{
scanf("%d",&N);
for(int i=0; i<=N; i++)
scanf("%d",&d[i]);
}
void rezolvare()
{
for(int x=1; x<=N; x++)
for(int y=1; y<N-x+1; y++)
{
int i = y;
int j = x+y;
int minim = inf;
for(int k=i; k<=j-1; k++)
minim = min(minim,dp[i][k]+dp[k+1][i]+d[i-1]*d[k]*d[j]);
dp[i][j]=minim;
}
cout<<dp[1][N];
}
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
citire();
rezolvare();
return 0;
}