Cod sursa(job #782396)

Utilizator stefanzzzStefan Popa stefanzzz Data 27 august 2012 20:09:05
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#define MAXN 505
#define INF 9000000000000000000
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");

long long n,d[MAXN],pd[MAXN][MAXN],mn,x;

int main()
{
    int i,j,k;
    f>>n;
    for(i=0;i<=n;i++)
        f>>d[i];
    for(i=1;i<n;i++)
        pd[i][i+1]=d[i-1]*d[i]*d[i+1];
    for(j=2;j<n;j++){
        for(i=1;i+j<=n;i++){
            mn=INF;
            for(k=i;k<i+j;k++){
                x=pd[i][k]+pd[k+1][i+j]+d[i-1]*d[k]*d[i+j];
                if(x<mn)
                    mn=x;}
            pd[i][i+j]=mn;}}
    g<<pd[1][n]<<'\n';
    f.close();
    g.close();
    return 0;
}