Pagini recente » Cod sursa (job #2408855) | Cod sursa (job #976935) | Cod sursa (job #2568021) | Cod sursa (job #72949) | Cod sursa (job #1424006)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
int n;
long long a[503];
long long d[503][503];
int main()
{
int i, j, k;
long long x;
in >> n;
for ( i = 0; i <= n; i++ )
in >> a[i];
for ( i = n; i >= 0; i-- )
{
for ( j = i+1; j <= n; j++ )
{
k = i;
d[i][j] = d[i][k] + d[k+1][j] + a[i]*a[k+1]*a[j+1];
for ( k = i+1; k < j; k++ )
{
x = d[i][k] + d[k+1][j] + a[i]*a[k+1]*a[j+1];
if ( d[i][j] > x )
d[i][j] = x;
}
d[i][i] = 0;
}
}
out << d[0][n-1];
return 0;
}