Cod sursa(job #3182135)

Utilizator tudor_bustanBustan Tudor Gabriel tudor_bustan Data 8 decembrie 2023 18:00:11
Problema Parantezare optima de matrici Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int main()
{
    int n, d[1000];
    int dp[100][100]={0};
    fin>>n;
    for(int i=0; i<=n; ++i)
    {
        fin>>d[i];
    }
    for(int lg=1; lg<n; ++lg)
    {
        for(int i=1; i<=n-lg; ++i)
        {
            long long miin=LONG_MAX;
            for(int k=i; k<i+lg; ++k)
            {
                miin=min(miin, (long long)dp[i][k]+dp[k+1][i+lg]+1LL*d[i-1]*d[k]*d[i+lg]);
            }
            dp[i][i+lg]=miin;
        }
    }
    fout<<dp[1][n];
    return 0;
}