Cod sursa(job #812847)

Utilizator andrei.baliciBalici Andrei andrei.balici Data 14 noiembrie 2012 16:33:33
Problema Parantezare optima de matrici Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream intrare("podm.in");
ofstream iesire("podm.out");

long long int N, d[505], cmin[505][505], i,k,j,x;

int main()
	{
	intrare>>N;
	for(i=0;i<=N;i++)
		intrare>>d[i];
	for(i=1;i<=N-1;i++)
		cmin[i][i+1]=d[i-1]*d[i]*d[i+1];
	for(x=2;x<=N-1;x++)
		for(i=1;i<=N-x;i++)
			{
			j=i+x;
			cmin[i][j]=999999;
			for(k=i;k<=j-1;++k)
				cmin[i][j]=min(cmin[i][j],cmin[i][k]+cmin[k+1][j]+d[i-1]*d[k]*d[j]);
			}
	iesire<<cmin[1][N];
	return 0;
	}