Pagini recente » Cod sursa (job #1004799) | Cod sursa (job #1426064) | Cod sursa (job #2297163) | Cod sursa (job #3258518) | Cod sursa (job #1770249)
#include <cstdio>
#include <algorithm>
using namespace std;
int v[505];
long long dp[505][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("%d", &v[i]);
for (i = 2; i <= n; i ++)
for (j = i - 2; j >= 0; j --)
dp[j][i] = (1LL << 61) - 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], 1LL * v[i] * v[j] * v[k] + dp[j][k] + dp[k][i]);
printf("%lld\n", dp[0][n]);
return 0;
}