Pagini recente » Cod sursa (job #52080) | Cod sursa (job #747518) | Cod sursa (job #718641) | Cod sursa (job #2947135) | Cod sursa (job #1654655)
#include <iostream>
#include <cstdio>
using namespace std;
int d[501],m[502][502],n;
void citire()
{
scanf("%d ",&n);
for(int i=0;i<2*n;i++)
{
scanf("%d ",d+i);
}
}
void dinamica()
{
for(int diag=1;diag<=n-1;diag++)
{
for(int i=1;i<=n-diag;i++)
{
int row,col;
row=i;
col=diag+i;
if(row!=col){
int minim=999999;
for(int k=row;k<col;k++)
{
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("%d\n",m[1][n]);
return 0;
}