Pagini recente » Cod sursa (job #2545247) | Cod sursa (job #95233) | Cod sursa (job #2391919) | Borderou de evaluare (job #2836698) | Cod sursa (job #1113410)
#include <cstdio>
#define MAXN 501
#define INF 5000001
using namespace std;
int n;
long long m[MAXN][MAXN];
int dim[MAXN];
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&n);
for (int i = 0 ; i<=n ; ++i)
scanf("%d ",&dim[i]);
int i,lg,j,k;
long long temp;
for (i = 1 ; i <= n ; ++i)
m[i][i]=0;
for (lg=2 ; lg<=n ; ++lg) {
for (i=1 ; i<=n-lg+1 ; ++i) {
j=i+lg-1;
m[i][j]=INF;
for (k=i ; k<j ; ++k) {
temp = m[i][k] + m[k+1][j] + dim[i-1]*dim[k]*dim[j];
if (temp < m[i][j]) {
m[i][j]=temp;
}
}
}
}
printf("%d",m[1][n]);
return 0;
}