Pagini recente » Cod sursa (job #287524) | Cod sursa (job #2200633) | Cod sursa (job #1318881) | Cod sursa (job #2007198) | Cod sursa (job #2023893)
#include <iostream>
#include <cstdio>
using namespace std;
int vCit[505],n;
long long dp[505][505];
void citire()
{
scanf("%d",&n);
for(int i=0;i<=n;i++)
scanf("%d",&vCit[i]);
}
long long minK(int a,int b)
{
long long r=0x3f3f3f;
for(int k=a;k<=b;k++)
{
r=min(r,dp[a][k]+dp[k+1][b+1]+vCit[a-1]*vCit[k]*vCit[b+1]);
}
return r;
}
void dinamica()
{
for(int c=2;c<=n;c++)
for(int i=1,j=c;j<=n;i++,j++)
dp[i][j]=minK(i,j-1);
}
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
citire();
dinamica();
printf("%lld",dp[1][n]);
return 0;
}