Cod sursa(job #1289070)

Utilizator TibixbAndrei Tiberiu Tibixb Data 9 decembrie 2014 14:02:37
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#define inf 1LL<<60
using namespace std;

ifstream in("podm.in");
ofstream out("podm.out");

long long n, m, i, j, k, ok ,minim, maxim;
long long D[505][505], v[505], d, INF;


int main(){
    in>>n;
    n++;
    for(i=1; i<=n; i++)
        in>>v[i];
    for(i=1; i<=n-1; i++)
        D[i][i+1]=0;
    for(d=2; d<=n-1; d++){
        for(i=1; i+d<=n; i++){
            j=i+d;
            D[i][j]=inf;
            for(k=i+1; k<=j-1; k++)
                D[i][j]=min(D[i][j], D[i][k]+D[k][j]+v[i]*v[k]*v[j]);
        }
    }
    out<<D[1][n];
   return 0;
}