Cod sursa(job #505620)

Utilizator IAmASuperCerealVictor Andrei IAmASuperCereal Data 3 decembrie 2010 08:55:27
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 7.76 kb
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////[#\:xx        xx:\#[//////////////////////////////////////////////////
//////////////////////////////////////////[\x^@HpN77777777777777777777NpH&^x\[//////////////////////////////////////////
/////////////////////////////////////[x^dp77777777777777777777777777777777777Np@ :[/////////////////////////////////////
/////////////////////////////////[x&p77777777777777777777777777777777777777777777773_x[/////////////////////////////////
//////////////////////////////#^3777777777777777777777777777777777777777777777777777777H #//////////////////////////////
///////////////////////////#^p7777777777777777777777777777777777777777777777777777777777773 #///////////////////////////
////////////////////////[ H777777777777777777777777777777777777777777777777777777777777777777Hx[////////////////////////
//////////////////////#^W7777777777777777777777777777777777777777777777777777777777777777777777W^[//////////////////////
////////////////////#&N77777777777777777777777777777777777777777777777777777777777777777777777777N_[////////////////////
//////////////////[_N777777777777777777777777777777777777777777777777777777777777777777777777777777N^[//////////////////
///////////////// W7777777777777777777777777777777777777777777777777777777777777777777777777777777777Wx/////////////////
///////////////#H77777W3Hddd3W77777777777777777777777777777777777777777777NpHdddd3W77777777777777777777d#///////////////
////////////// N773_x[////////[\ dN777777777777777777777777777777777773_x#/////////[\ @W7777777777777777Nx//////////////
////////////[&77H\///# @pWNWH_:///[ 3777777777777777777777777777777p #///# &3WNNpH_x////:&N777777777777777_/////////////
///////////[H7N ///_zMMMMMMMP@#//////xp77777777777777777777777777px///:3zMMMMMMMMME [/////[_777777777777777d[///////////
//////////[37W\//\EMMMMMMMMQ#/////////[@777777777777777777777777&[//xEMMMMMMMMMMMp//////////\377777777777777H[//////////
/////////[37N\//xPMMMMMMMMM_////////////_7777777777777777777777x//[WMMMMMMMMMMMMM[///////////[d77777777777777H[/////////
/////////H77x//\PMMMMMMMMMM3/////////////@77777777777777777777 //#zMMMMMMMMMMMMMMx////////////[H77777777777777@/////////
////////_773///9MMMMMMMMMMMM@[///////[x//[W777777777777777777@///EMMMMMMMMMMMMMMMDx////////\ //#N77777777777777 ////////
///////:777 //xMMMMMMMMMMMMMMD3^x:x^pPL#//^777777777777777777#//_MMMMMMMMMMMMMMMMMMJd ::x&7LL[//_777777777777777#///////
///////p777#//dMMMMMMMMMMMMMMMMMMMMMMMM_//\77777777777777777p///JMMMMMMMMMMMMMMMMMMMMMMMMMMMM_//:777777777777777H///////
////// 7777[//3MMMMMMMMMMMMMMMMMMMMMMMM3//#77777777777777777d///PMMMMMMMMMMMMMMMMMMMMMMMMMMMM3//[7777777777777777x//////
//////37777\//@MMMMMMMMMMMMMMMMMMMMMMMMd//#77777777777777777H///DMMMMMMMMMMMMMMMMMMMMMMMMMMMMd//#7777777777777777H//////
/////\77777 //\MMMMMMMMMMMMMMMMMMMMMMMMx//x77777777777777777N[//WMMMMMMMMMMMMMMMMMMMMMMMMMMMMx//x77777777777777777#/////
/////^77777p///^&&&&&&&&&&&&&&&&&&&&&&&///d777777777777777777 //\&&&&&&&&&&&&&&&&&&&&&&&&&&&_///H77777777777777777 /////
/////d777777 ////////////////////////////x7777777777777777777W[//////////////////////////////// 777777777777777777&/////
/////p7777777WWWWWWWWWWWWWWWWWWWWWWWWWWWWN77777777777777777777NWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW7777777777777777777H/////
/////W7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777773/////
/////W7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777773/////
/////p777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777H/////
/////d7777777777NNNNNNNNNNNNNNNNNNNNNNNNNNNN7777777777777777777777777777777777777777777777777777777777777777777777&/////
///// 777777773[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[#W7777777777777777777x/////
/////#77777777pxxxx///[####################################################################[//x7777777777777777777[/////
//////377777777777N///x                                                                    x///H77777777777777777d//////
//////x777777777777#//\                                                                     #//x77777777777777777://////
///////377777777777_//[                                                                     ://[7777777777777777H///////
///////\77777777777N#//\                                                                    x///N77777777777777N#///////
////////^77777777777d///x                                                                   x///777777777777777 ////////
/////////d77777777777 //[                                                                   \//#77777777777777@/////////
/////////[377777777777x//[                                                                  [//^7777777777777d[/////////
//////////[37777777777Nx//[                                                                \//[W777777777777H[//////////
///////////[H7777777777Nx//[x                                  ^^___^^                    :///d777777777777@[///////////
/////////////_77777777777 ///x                           ^dp7EzDDDDDDDzJ7pd^             :///@777777777777^/////////////
//////////////xN7777777777&[//\                       _3EDDDDDDDDDDDDDDDDDDDEp&         #//[d77777777777Wx//////////////
///////////////#d77777777773#//[x                   @7DDDDDDDDDDDDDDDDDDDDDDDDD9d     :[//\p77777777777@[///////////////
/////////////////xW777777777N^[//#x               _7DDDDDDDDDDDDDDDDDDDDDDDDDDDDD9& x[//[&77777777777px/////////////////
//////////////////[^N777777777Wx///#x            dzDDDDDDDDDDDDDDDDDDDDDDDDDDDDDz3x[//[^N7777777777W [//////////////////
////////////////////[_N7777777773x///#x         HDDDDDDDDDDDDDDDDDDDDDDDDDDDDzW^#///#&N7777777777N^[////////////////////
//////////////////////[^W777777777p [//[#x     &QDDDDDDDDDDDDDDDDDDDDDDDDQE3 #///[ H77777777777p [//////////////////////
/////////////////////////xd777777777N&:////#\x EDDDDDDDDDDDDDDDDDDDDDJNd #[///# dN77777777777dx/////////////////////////
///////////////////////////# 3777777777N@ #////[x^@3W7EJzzzJE9NpH& :[/////#x_p777777777777H [///////////////////////////
//////////////////////////////# HN777777777NH_x\[//////////////////[#x &HW777777777777Nd #//////////////////////////////
/////////////////////////////////[x_3N77777777777W3d@&^^    ^^_@d3W777777777777777NH^:[/////////////////////////////////
/////////////////////////////////////[: @3N7777777777777777777777777777777777N3& \[/////////////////////////////////////
//////////////////////////////////////////[#x &d3WN777777777777777777NW3d_ x#[//////////////////////////////////////////
//////////////////////////////////////////////////[[#\:xx      xx:\#[[//////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
# include <stdio.h>
#define input "podm.in"
#define output "podm.out"
long long int a[600],m[600][600],i,j,l,k,n,min;
void open()
{
	freopen (input,"r",stdin);
	freopen (output,"w",stdout);
//  O HAI!	
}
void read()
{
	
	scanf ("%lli",&n);
	for (i=1;i<=n+1;i++)
		scanf ("%lli",&a[i]);
}
void do_it()
{
	for (i=1;i<n;i++)
	for (j=1;j<n;j++)
		if (i+j<=n)
		{
			l=j+i;
			k=j;
			min=m[j][k]+m[k+1][l]+a[j]*a[k+1]*a[l+1];
			for (k=j;k<l;k++)
			{ 
				if (min>m[j][k]+m[k+1][l]+a[j]*a[k+1]*a[l+1])
				min=m[j][k]+m[k+1][l]+a[j]*a[k+1]*a[l+1];
			}
			m[j][l]=min;
		}
}
void give_it_to_them()
{
	printf ("%lli",m[1][n]);
}
int main ()
{
	open();
	read();
	do_it();
	give_it_to_them();
	return 0;
}