Cod sursa(job #1096535)

Utilizator sebinechitasebi nechita sebinechita Data 2 februarie 2014 11:59:16
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
#define MAX 510

long long a[MAX][MAX], d[MAX];

int main()
{
    long long n, i, w, j, k;
    fin>>n;
    for(i=0;i<=n;i++)
    {
        fin>>d[i];
    }
    for(i=1;i<n;i++)
    {
        a[i][i+1]=d[i-1]*d[i]*d[i+1];
    }
    for(w=2;w<=n;w++)
    {
        for(i=1;i+w<=n;i++)
        {
            j=i+w;
            a[i][j]=1<<29;
            for(k=i;k<j;k++)
                a[i][j]=min(a[i][j], a[i][k] + a[k+1][j] + d[i-1]*d[k]*d[j]);
        }
    }
    fout<<a[1][n]<<"\n";
}