Cod sursa(job #968055)

Utilizator AstronothingIulia Comsa Astronothing Data 1 iulie 2013 00:16:29
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

using namespace std;

long long optim[502][502];
long long MY_INT_MAX = 100000000000000000LL;

int main()
{
	ifstream f("podm.in");
	ofstream f2("podm.out");

	int n;
	f>>n;

	long long mat[502];
	for(int i = 0; i < n+1; ++i) f>>mat[i]; 

	for(int len = 1; len < n; ++len)
		for(int start = 0; start < n-len; ++start)
		{
			int end = start + len;
			optim[start][end] = MY_INT_MAX;
			for(int k = start; k < end; ++k)
				optim[start][end] = min( optim[start][end], optim[start][k] + optim[k+1][end] + mat[start] * mat[k+1] * mat[end+1] );
		}

	f2<<optim[0][n-1];
}