Cod sursa(job #2323081)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 18 ianuarie 2019 19:51:41
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f ("podm.in");
ofstream g ("podm.out");
const int nmax=5e2+3;
long long n,v[nmax],d[nmax][nmax];
int main()
{
    ios::sync_with_stdio(false);
    f>>n;
    for(int i=0;i<=n;++i) f>>v[i];
    for(int i=1;i<n;++i)
    {
        for(int j=i+1;j<=n;++j) d[i][j]=2e18;
    }
    for(int i=1;i<n;++i) d[i][i+1]=v[i-1]*v[i]*v[i+1];
    for(int t=1;t<n;++t)
    {
        for(int i=1;i+t<=n;++i)
        {
            int j=i+t;
            for(int k=i;k<j;++k) d[i][j]=min(d[i][j],d[i][k]+d[k+1][j]+v[i-1]*v[k]*v[j]);
        }
    }
    g<<d[1][n];
    return 0;
}