Cod sursa(job #1259333)

Utilizator dr_personalityEftime Andrei Horatiu dr_personality Data 9 noiembrie 2014 22:26:10
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<fstream>
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");

const int nmax = 506;
long long v[nmax], n;
long long d[nmax][nmax];

int main(){
	int player_unu=0;

	in>>n;n++;
	for(int i = 1; i<=n; i++)
		in>>v[i];

	for(int i = 0; i<=n; i++)
		for(int j = i + 1; j<=n; j++)
			d[i][j] = 10000000000000000;

	for(int len = 2; len<n; len++)
	{
		for(int i = 1; i<n + 1 - len; i++)
		{
			int j = i + len - 1;
			for(int k = i; k<j; k++)
				d[i][j] = min(d[i][j], d[i][k] + d[k + 1][j] + v[i] * v[k + 1] * v[j + 1]);
		}
	}

	out<<d[1][n - 1];

	return player_unu;
}