Cod sursa(job #974172)

Utilizator misinozzz zzz misino Data 16 iulie 2013 16:13:24
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
#define INF 1LL<<60
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
int i,n,di,k,j;
long long a[505],d[505][505];
int main()
{
    f>>n;
    for(i=0;i<=n;++i)
    f>>a[i];
    for(i=1;i<n;++i)
    d[i][i+1]=a[i-1]*a[i]*a[i+1];
    for(di=3;di<=n;++di)
    {
        for(j=di;j<=n;++j)
        {
            i=j-di+1;
            d[i][j]=INF;
            for(k=i;k<j;++k)
            d[i][j]=min(d[i][j],d[i][k]+d[k+1][j]+a[i-1]*a[k]*a[j]);
        }
    }
    g<<d[1][n]<<'\n';
    return 0;
}