Cod sursa(job #1685151)

Utilizator razvandRazvan Dumitru razvand Data 11 aprilie 2016 15:42:43
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
#include <climits>
#define I j+1
#define J i+j
#define MAX 505

using namespace std;

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

long long o[MAX][MAX];
int c[MAX];

int main() {

    int n;
    in >> n;

    for(int i = 1; i <= n+1; i++)
        in >> c[i];

    long long mi;
    for(int i = 2; i <= n; i++) {
        for(int j = 0; j+i <= n; j++) {
            mi = LLONG_MAX;
            for(int k = I; k < J; k++)
                mi = min(mi, o[I][k]+o[k+1][J] + 1LL*c[I]*c[k+1]*c[J+1]);
            o[I][J] = mi;
        }
    }

    out << o[1][n];

    return 0;
}