Cod sursa(job #818675)

Utilizator iuli1505Parasca Iuliana iuli1505 Data 17 noiembrie 2012 20:13:36
Problema Parantezare optima de matrici Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<cstdio>
#include<algorithm>
#define nmax 510
#define oo 1<<30
using namespace std;
int n,v[nmax],i,j,k,L,x[nmax][nmax];
int main()
{
    freopen("podm.in","r",stdin);
    freopen("podm.out","w",stdout);
    scanf("%d", &n);
    for(i=1;i<=n+1;i++)
        scanf("%d", &v[i]);
    for(i=1;i<=n+1;i++)
        for(j=1;j<=n+1;j++)
            if(j!=(i+1))x[i][j]=oo;
    for(L=3;L<=n+1;L++)
        for(i=1,j=L;j<=n+1;i++,j++)
            for(k=i+1;k<=j-1;k++)
                x[i][j]=min(x[i][j], x[i][k]+x[k][j]+v[i]*v[j]*v[k]);
    printf("%d ", x[1][n+1]);
    return 0;
}