Cod sursa(job #1551928)

Utilizator cojocarugabiReality cojocarugabi Data 16 decembrie 2015 22:04:21
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
# include <bits/stdc++.h>
using namespace std;
ifstream fi("podm.in");
ofstream fo("podm.out");
long long dp[555][555];
int s[5005];
int main(void)
{
    int n;
    fi>>n;
    for (int i = 1;i <= n + 1;++i) fi>>s[i];
    for (int i = 1;i <= n;++i)
        for (int j = i+1;j <= n;++j) dp[i][j] = 1e16;
    for (int len = 1;len <= n - 1;++len)
        for (int i = 1;i+len <= n;++i)
            for (int k = i;k <= i+len-1;++k)
                dp[i][i+len] = min(dp[i][i+len],dp[i][k] + dp[k+1][i+len] + 1ll * s[i] * s[k+1] * s[i+len+1]);
    return fo << dp[1][n] << '\n',0;
}