Cod sursa(job #2114936)

Utilizator circeanubogdanCirceanu Bogdan circeanubogdan Data 26 ianuarie 2018 09:09:40
Problema Parantezare optima de matrici Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#define INF 2e9

using namespace std;

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

int n, v[502], dp[502][502];

int main()
{
    f>>n;
    for(int i = 1; i <= n + 1; ++ i)
        f>>v[i];
    for(int L = 3; L <= n + 1; ++ L){
        for(int st = 1; st + L - 1 <= n + 1; ++ st){
            int dr = st + L - 1;
            dp[st][dr] = INF;
            for(int j = st + 1; j < dr; ++ j)
                dp[st][dr] = min(dp[st][dr], dp[st][j] + dp[j][dr] + v[st] * v[j] * v[dr]);
        }
    }
    g<<dp[1][n + 1];
    return 0;
}