Cod sursa(job #1830842)

Utilizator DenisackeFlueran Denis Denisacke Data 17 decembrie 2016 10:50:49
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
long long i,j,k,n,col,d[505],a[505][505],Min,imin,x;
int main()
{fin>>n;
for(i=1;i<=n+1;i++)
    fin>>d[i];
for(i=1;i<=n+1;i++)
    a[i][i]=0,a[i][i+1]=d[i]*d[i+1]*d[i+2],a[i+1][i]=i;

for(col=3;col<=n;col++)
   {
        i=1;
        j=col;
        while (j<=n)
        {
            a[i][j]=1000000000000;
            for(k=i;k<j;k++)
                if (a[i][j]>a[i][k]+a[k+1][j]+d[i]*d[k+1]*d[j+1])
            {
                a[i][j]=a[i][k]+a[k+1][j]+d[i]*d[k+1]*d[j+1];
                a[j][i]=k;
            }
        i++;
        j++;
    }
   }
fout<<a[1][n];
    return 0;
}