Pagini recente » Cod sursa (job #3140642) | Cod sursa (job #2572974) | Cod sursa (job #2827971) | Cod sursa (job #2846582) | Cod sursa (job #987525)
Cod sursa(job #987525)
#include<stdio.h>
#include<algorithm>
using namespace std;
#define NMAX 500
long long sz[NMAX+5],d[NMAX+5][NMAX+5];
const long long INF = 1e18;
int main() {
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
int l,n,j,k,i;
scanf("%d",&n);
for(i = 1; i <= n + 1 ; i++)
scanf("%lld",&sz[i]);
for(i = 1; i < n ; i++)
d[i][i + 1] = sz[i] * sz[i + 1] * sz[i + 2];
for(l = 2; l < n; l++) {
j = l+1;
i = 1;
while(i <= n && j <= n) {
d[i][j] = INF;
for(k = i; k < j ;k++)
d[i][j] = min (d[i][j], d[i][k] + d[k+1][j] + sz[i] * sz[k + 1] * sz[j + 1]);
i++;
j++;
}
}
printf("%lld\n",d[1][n]);
return 0;
}