Pagini recente » Cod sursa (job #500956) | Cod sursa (job #524526) | Cod sursa (job #2941811) | Cod sursa (job #1858823) | Cod sursa (job #2348390)
#include <bits/stdc++.h>
#define DIM 505
#define INF 100005;
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
int n;
int sizes[DIM];
int solution[DIM][DIM];
int main()
{
in>>n;
for( int i = 1; i <= n + 1; i++ )
in>>sizes[i];
for( int i = 1; i <= n; i++ )
solution[i][i + 1] = 0;
for( int length = 2; length <= n; length++ )
for( int left = 1; left + length - 1 <= n; left++ )
{
int right = left + length - 1;
solution[left][right] = INF;
for( int k = left; k < right; k++ )
solution[left][right] = min( solution[left][right], solution[left][k] + solution[k + 1][right] + sizes[left]*sizes[right + 1]*sizes[k + 1] );
}
out<<solution[1][n];
return 0;
}