Pagini recente » Cod sursa (job #2222791) | Cod sursa (job #1343552) | Cod sursa (job #2149493) | Cod sursa (job #1033104) | Cod sursa (job #1880160)
#include <cstdio>
using namespace std;
int a[505];
long long dp[505][505];
int main() {
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
int n;
long long aux;
scanf("%d", &n);
for(int i = 0; i <= n; ++ i) {
scanf("%d", &a[i]);
}
for(int j = 2; j <= n; ++ j) {
for(int i = j - 1; i >= 1; -- i) {
dp[i][j] = -1;
for(int k = i; k < j; ++ k) {
aux = dp[i][k] + dp[k + 1][j] + (long long) a[i - 1] * a[j] * a[k];
if(dp[i][j] == -1 || aux < dp[i][j]) {
dp[i][j] = aux;
}
}
}
}
printf("%lld", dp[1][n]);
return 0;
}