Pagini recente » Cod sursa (job #750377) | Cod sursa (job #1776180) | Cod sursa (job #879744) | Cod sursa (job #2149773) | Cod sursa (job #1739344)
#include <iostream>
#include <cstdio>
#define NMAX 505
#define inf 200000000
using namespace std;
int N;
int d[NMAX];
long long 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][j]+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;
}