Cod sursa(job #2930727)

Utilizator Zed1YasuoAlex Birsan Zed1Yasuo Data 29 octombrie 2022 14:06:16
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long n,b[505],a[505][505],i,d,j,t,k;
int main()
{
    f>>n;
    for( i=0;i<=n;i++)
        f>>b[i];
    for( i=1;i<n;i++)
        a[i][i+1]=b[i-1]*b[i]*b[i+1];
    for( d=2;d<n;d++)
    {
        for( i=1;i<=n-d;i++)
            for( t=i;t<i+d;t++)
            {
               if(a[i][i+d]==0)
                    a[i][i+d]=a[i][t]+a[t+1][i+d]+b[i-1]*b[t]*b[i+d];
                else
                    a[i][i+d]=min(a[i][t]+a[t+1][i+d]+(b[i-1]*b[t]*b[i+d]),a[i][i+d]);
            }
    }
    g<<a[1][n];
    return 0;
}