Cod sursa(job #1095372)

Utilizator emiemiEmi Necula emiemi Data 30 ianuarie 2014 20:02:30
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long nr,mini,m[505][505],j,d,i,n,a[505];
int main()
{
    f>>n;
    for(i=0;i<=n;++i)
    f>>a[i];
    for(i=1;i<n;++i)
    m[i][i+1]=a[i-1]*a[i]*a[i+1];
    for(d=2;d<n;++d)
    for(i=1;i<=n-d;++i)
    {
        mini=999999999999;
        for(j=i;j<i+d;++j)
        {
            nr=(long long)m[i][j]+m[j+1][i+d];
            nr=(long long)nr+a[i-1]*a[j]*a[i+d];
            if(nr<mini)
            mini=nr;
        }
        m[i][i+d]=mini;
    }
    g<<m[1][n]<<'\n';
    return 0;
}