Pagini recente » Cod sursa (job #1574881) | Cod sursa (job #1462824) | Cod sursa (job #4585) | Cod sursa (job #405444) | Cod sursa (job #1770247)
#include <cstdio>
#include <algorithm>
using namespace std;
long long dp[505][505], v[505];
int main(){
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
int n, i, j, k;
scanf("%d", &n);
for (i = 0; i <= n; i ++)
scanf("%lld", &v[i]);
for (i = 2; i <= n; i ++)
for (j = i - 2; j >= 0; j --)
dp[j][i] = (1LL << 31) - 1;
for (i = 1; i <= n; i ++)
for (j = i - 1; j >= 0; j --)
for (k = j + 1; k < i; k ++)
dp[j][i] = min(dp[j][i], v[i] * v[j] * v[k] + dp[j][k] + dp[k][i]);
printf("%lld\n", dp[0][n]);
return 0;
}