Cod sursa(job #2114937)

Utilizator circeanubogdanCirceanu Bogdan circeanubogdan Data 26 ianuarie 2018 09:10:36
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
#define INF 2e18

using namespace std;

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

long long 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;
}