Pagini recente » Cod sursa (job #3173049) | Cod sursa (job #61607) | Cod sursa (job #1255185) | Cod sursa (job #1195222) | Cod sursa (job #1916240)
#include <cstdio>
int n;
long long M[501][501], p[501];
int main(){
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
scanf("%d", &n);
for(int i = 0; i <= n; i++){
scanf("%lld", &p[i]);
}
for(int row = 1; row < n; row++){
for(int j = row + 1; j <= n; j++){
int i = j - row;
M[i][j] = 1LL << 60;
for(int k = i; k < j; k++){
if(M[i][j] > M[i][k] + M[k+1][j] + p[i-1] * p[k] * p[j]){
M[i][j] = M[i][k] + M[k+1][j] + p[i-1] * p[k] * p[j];
M[j][i] = k;
}
}
}
}
printf("%lld", M[1][n]);
return 0;
}