Pagini recente » Cod sursa (job #211277) | Cod sursa (job #1520228) | Cod sursa (job #1210664) | Cod sursa (job #1744037) | Cod sursa (job #2821173)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
#define cin fin
#define cout fout
#define N 505
#define inf 100000000000000
long long a[N][N], d[N], n, minim;
int main()
{
cin >> n;
for(int i = 0 ; i <= n ; i++)
{
cin >> d[i];
}
for(int i = 1 ; i <= n ; i++)a[i][i] = 0;
for(int i = 1 ; i < n ; i++)
{
a[i][i+1] = d[i-1]*d[i]*d[i+1];
}
for(int l = 2 ; l < n ; l++)
{
for(int i = 1 ; i <= n-l ; i++)
{
int j = i+l;
minim = inf;
for(int k = i ; k < j ; k++)
{
minim = min(minim,a[i][k]+a[k+1][j]+d[i-1]*d[k]*d[j]);
}
a[i][j] = minim;
}
}
cout << a[1][n];
return 0;
}