Cod sursa(job #1028106)

Utilizator lehman97Dimulescu David lehman97 Data 13 noiembrie 2013 17:28:34
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <stdio.h>

using namespace std;

FILE *f=fopen("podm.in","r");
FILE *g=fopen("podm.out","w");

long long n,i,j,k,mn,dim[501],c[501][501],l;

int main()
{
    fscanf(f,"%lld",&n);
    for(i=1;i<=n+1;i++)
    fscanf(f,"%lld",&dim[i-1]);
    for(l=1;l<=n-1;l++)
    for(i=1;i<=n-1;i++)
    if(i+l<=n)
    {
        j=i+l;
        mn=-1;
        for(k=i;k<j;k++)
        if(c[i][k]+c[k+1][j]+dim[i-1]*dim[k]*dim[j]<mn ||  mn==-1)
        mn=c[i][k]+c[k+1][j]+dim[i-1]*dim[k]*dim[j];
        c[i][j]=mn;
    }
    fprintf(g,"%lld",c[1][n]);
    fclose(g);
    return 0;
}