Pagini recente » Cod sursa (job #3288294) | Cod sursa (job #1268055) | Cod sursa (job #2955355) | Cod sursa (job #2804095) | Cod sursa (job #2172227)
#include <fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
const int N = 505;
const long long f_mare = 3e17;
int n, a[N], i, j, l, k;
long long dp[N][N], minim;
int main() {
f >> n;
for (i = 0; i <= n; i++)
f >> a[i];
for (i = 1; i < n; i++)
dp[i][i+1] = 1LL*a[i-1]*a[i]*a[i+1];
for (l = 3; l <= n; l++)
for (i = 1; i+l-1 <= n; i++) {
j = i+l-1;
minim = f_mare;
for (k = i; k < j; k++)
minim = min(minim, dp[i][k] + dp[k+1][j] + 1LL*a[i-1]*a[k]*a[j]);
dp[i][j] = minim;
}
g << dp[1][n];
}