Pagini recente » Cod sursa (job #536258) | Cod sursa (job #3260988) | Cod sursa (job #1459552) | Cod sursa (job #3190506) | Cod sursa (job #1801118)
#include <iostream>
#include <cstdio>
#define INF 1<<62;
using namespace std;
long long dp[501][501],d[501];
int n;
void citire()
{
scanf("%d",&n);
for(int i=0;i<=n;i++)
scanf("%lld",&d[i]);
}
long long minF(int a,int b)
{
long long minRez=9999999999;
for(int k=a;k<=b;k++)
minRez=min(minRez,dp[a][k]+dp[k+1][b+1]+d[a-1]*d[k]*d[b+1]);
return minRez;
}
void solve()
{
for(int z=2;z<=n;z++)
for(int i=1,j=z;j<=n;i++,j++)
dp[i][j]=minF(i,j-1);
}
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
citire();
solve();
printf("%lld",dp[1][n]);
return 0;
}