Pagini recente » Cod sursa (job #1780526) | Cod sursa (job #1061425) | Cod sursa (job #2796847) | Cod sursa (job #695839) | Cod sursa (job #1801108)
#include <iostream>
#include <cstdio>
using namespace std;
int n,dp[501][501],d[501];
void citire()
{
scanf("%d",&n);
for(int i=0;i<=n;i++)
scanf("%d",&d[i]);
}
int minF(int a,int b)
{
int minRez=9999999;
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.in","w",stdout);
citire();
solve();
printf("%d",dp[1][n]);
return 0;
}