Pagini recente » Cod sursa (job #3000732) | Cod sursa (job #1432270) | Cod sursa (job #1369011) | Cod sursa (job #898453) | Cod sursa (job #2892281)
#include <bits/stdc++.h>
#define MAX_N 500
#define MULT (1 << 30)
using namespace std;
int d[MAX_N + 1];
long long dp[MAX_N][MAX_N];
int main() {
ifstream cin( "podm.in" );
ofstream cout( "podm.out" );
int n, i, j, k, l;
cin >> n;
for ( i = 0; i < n + 1; i++ )
cin >> d[i];
for ( l = 1; l < n; l++ ) {
for ( i = 0; i < n - l; i++ ) {
j = i + l;
dp[i][j] = MULT;
for ( k = i; k <= j - 1; k++ )
dp[i][j] = min( dp[i][j], dp[i][k] + dp[k + 1][j] + (long long)d[i] * d[k + 1] * d[j + 1] );
}
}
cout << dp[0][n - 1];
return 0;
}