Cod sursa(job #2279064)

Utilizator CojocaruVicentiuCojocaru Vicentiu CojocaruVicentiu Data 8 noiembrie 2018 21:04:54
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream>
#include<iostream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
long long int d[510],c[510][510],n,i ;

long long int solve(long long int i, long long int j)
{
    long long int x=1000000000000000000,k;
    if(i==j)
        return 0;
    if(c[i][j])
        return c[i][j];
    for(k=i;k<j;k++)
    {
        x=min(x,solve(i,k)+solve(k+1,j)+d[i]*d[k+1]*d[j+1]);
    }
    c[i][j]=x;
    return x;
}

int main()
{
    fin>>n;
    for(i=1;i<=n+1;i++)
        fin>>d[i];
    fout<<solve(1,n);


    fin.close();
    fout.close();
    return 0;
}