Cod sursa(job #2658897)

Utilizator MateGMGozner Mate MateGM Data 15 octombrie 2020 13:42:33
Problema Parantezare optima de matrici Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 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<int>d(10000);
    long long a[500][500];
    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]=INT_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;
}