Cod sursa(job #2658902)

Utilizator MateGMGozner Mate MateGM Data 15 octombrie 2020 13:45:06
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb

#include <fstream>
#include <vector>
#include <climits>
using namespace std;
ifstream be("podm.in");
ofstream ki("podm.out");

int main()
{
    int n;
    be>>n;
    vector<long long>d(10000);
    unsigned long long a[503][503];
    for(int i=0;i<=n;i++){
        be>>d[i];
       }
    for(int i=1;i<n;i++)
        a[i][i+1]=d[i-1]*d[i]*d[i+1];
    for(int i=2;i<=n;i++)
        for(int l=1;l<=n-i;l++){
        int j=i+l;
        a[l][j]=LONG_MAX;
        for(int k=l;k<=j-1;k++)
           a[l][j]=min(a[l][j],a[l][k]+a[k+1][j]+d[l-1]*d[k]*d[j]);
        }

    ki<<a[1][n];



    return 0;
}