Cod sursa(job #3180889)

Utilizator Botnaru_VictorBotnaru Victor Botnaru_Victor Data 6 decembrie 2023 08:48:41
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
#define int long long
using namespace std;

#ifndef LOCAL
string name="podm";
ifstream in(name+".in");
ofstream out(name+".out");
#define cin in
#define cout out
#endif //LOCAL

const int MN = 505;
const int MV = (1ll<<60);

int v[MN];
int d[MN][MN];
int n;
int32_t main()
{
    cin>>n;
    for(int i=1;i<=n+1;i++)
    {
        cin>>v[i];
    }
    
    for(int k=1;k<=n;k++)
    {
        for(int i=1;i+k<=n;i++)
        {
            int j=i+k;
            d[i][j]=MV;
            for(int y=i;y<j;y++)
            {
                d[i][j]=min(d[i][j], d[i][y]+d[y+1][j]+v[i]*v[y+1]*v[j+1]);
            }
        }
    }
    
    cout<<d[1][n];

    return 0;
}