Cod sursa(job #1791286)

Utilizator DanyBvGeorge-Daniel Gagiu DanyBv Data 29 octombrie 2016 11:22:39
Problema Parantezare optima de matrici Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <cstdio>

using namespace std;

long long m[524][524], d[524], n;
int main()
{
    freopen("podm.in", "r", stdin );
    freopen("podm.out", "w", stdout);
    scanf("%lld", &n);
    for(int i = 0; i <= n; i++)
        scanf("%lld", &d[i]);
    for(int i = 1; i <= n; i++)
        for(int j = i + 1; j <= n; j++)
            m[i][j] = LLONG_MAX;
    for(int l = 1; l < n; l++)
        for(int i = 1, j = l + 1; i <= n - 1 && j <= n; i++, j++)
            for(int k = i; k < j; k++)
                m[i][j] = min(m[i][k] + m[k + 1][j] + d[i - 1] * d[k] * d[j], m[i][j]);
    printf("%lld", m[1][n]);
    return 0;
}