Cod sursa(job #648323)

Utilizator legendarulDavid Anton Erculescu legendarul Data 13 decembrie 2011 11:42:03
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
using namespace std;
#define NM 1024
#define INF 1000000000000LL

ifstream in("podm.in");
ofstream out("podm.out");

long long o[NM][NM],D[NM],n;

int main()
{ long i,j,poz,k,d;
	in>>n;
	for(i=1;i<=n+1;i++)
	{ in>>D[i];
	}
	long long min;
	for(d=1;d<=n-1;d++)
	{ for(poz=1;poz<=n-d;poz++)
		{ i=poz;
			j=d+poz;
			o[i][j]=INF;
			for(k=i;k<j;k++)
			{ min=o[i][k]+o[k+1][j]+D[i]*D[k+1]*D[j+1];
				if(min<o[i][j])
				{ o[i][j]=min;
				}
			}
		}
	}
	out<<o[1][n];
	return 0;
}