Cod sursa(job #1571702)

Utilizator ipus1Stefan Enescu ipus1 Data 18 ianuarie 2016 13:23:05
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<cstdio>
long long ma[502][502];
long long v[502];
int main ()
{freopen ("podm.in","r",stdin);
freopen ("podm.out","w",stdout);
long long n,i,j,k,x,q;
scanf("%lld",&n);
for(i=1;i<=n+1;i++)
    scanf("%lld",&v[i]);
for(i=1;i<n;i++)
    ma[i][i+1]=v[i]*v[i+1]*v[i+2];
for(q=3;q<=n;q++)
    for(i=1,j=q;j<=n;i++,j++)
        {x=1000000000000000000;
        for(k=i;k<j;k++)
            if(ma[i][k]+ma[k+1][j]+v[i]*v[k+1]*v[j+1]<x)
                x=ma[i][k]+ma[k+1][j]+v[i]*v[k+1]*v[j+1];
        ma[i][j]=x;
        }
printf("%d",ma[1][n]);
return 0;
}