Pagini recente » Cod sursa (job #718355) | Cod sursa (job #713867) | Cod sursa (job #340099) | Cod sursa (job #1458795) | Cod sursa (job #1654673)
#include <bits/stdc++.h>
using namespace std;
long long int d[502],m[502][502],n;
void citire()
{
scanf("%lld ",&n);
for(long long int i=0;i<2*n;i++)
{
scanf("%lld ",d+i);
}
}
void dinamica()
{
for(int diag=1;diag<=n-1;diag++)
{
for(int i=1;i<=n-diag;i++)
{
long long int row,col;
row=i;
col=diag+i;
if(row!=col)
{
int minim=100000000000000000;
for(int k=row;k<col;k++)
{
long long int x=m[row][k]+m[k+1][col]+d[row-1]*d[k]*d[col];
if(x<minim)
minim=x;
}
m[row][col]=minim;
}
}
}
}
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
citire();
dinamica();
printf("%lld\n",m[1][n]);
return 0;
}