Cod sursa(job #396036)
Utilizator | Alina S allyna | Data | 14 februarie 2010 13:38:20 |
---|---|---|---|
Problema | Parantezare optima de matrici | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <cstdio>
#define dim 503
int n,i,j,k;
long d[dim],c[dim][dim];
int main() {
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%ld",&d[i]);
for(i=2;i<=n;i++)
for(j=i;j<=n;j++)
{
if(i==j) c[i][j]=0;
else
{
for(k=i;k<=j;k++)
c[i][j]=c[i][i+k-1]+c[i+k][j]+(d[i-1]*d[i]*d[j]);
}
}
printf("%ld",c[1][n]);
return 0;
}