Cod sursa(job #2214906)

Utilizator NOSCOPEPROKENDYMACHEAMACUMVREAU NOSCOPEPROKENDY Data 20 iunie 2018 15:20:22
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
 
using namespace std;
 
ifstream in("podm.in");
ofstream out("podm.out");
 
const int MAX = 501;
const long long INF = (1ll << 60);
long long n, v[MAX], dp[MAX][MAX];
 
int main()
{
    in>>n;
    for(int i=0; i<=n; i++)
        in>>v[i];
    for(int col = 2; col <= n; col++)
    {
        int i=1, j = col;
 
        while(j<=n)
        {
            dp[i][j] = INF;
            for(int k = i+1; k<=j; ++k)
            {
                long long val = v[i-1]*v[k-1]*v[j] + dp[i][k-1]+dp[k][j];
                if(val<dp[i][j]) dp[i][j] = val;
            }
            ++i;++j;
        }
    }
    out<<dp[1][n];
    return 0;
}