Pagini recente » Cod sursa (job #921068) | Cod sursa (job #26055) | Cod sursa (job #2240027) | Cod sursa (job #2364813) | Cod sursa (job #1654699)
#include <iostream>
#include <cstdio>
using namespace std;
int n;
long long d[501],m[501][501];
void read()
{
scanf("%d ",&n);
for(int i=0; i<n*2; i++)
scanf("%lld ", &d[i]);
}
void algoritm()
{
for(int diag = 1; diag<=n-1; diag++)
{
for(int i = 1; i<=n-diag; i++)
{
int long long row = i;
int long long col = diag + i;
if(row!=col)
{
long long mini = 99999999999;
for(int k=row; k<col; k++)
{
long long x = m[row][k] + m[k+1][col] + d[row-1] * d[k] * d[col];
if(x<mini)
mini = x;
}
m[row][col] = mini;
}
}
}
cout<<m[1][n];
}
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
read();
algoritm();
return 0;
}