Cod sursa(job #376115)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 20 decembrie 2009 19:05:16
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
# include <stdio.h>
long long int a[600],m[600][600],i,j,l,k,min,n;
int main ()
{
	freopen ("podm.in","r",stdin);
	freopen ("podm.out","w",stdout);
	
	 scanf ("%lli",&n);
	 for (i=1;i<=n+1;i++)
		 scanf ("%lli",&a[i]);
	 
	 
	  for (i=1;i<n;i++)
		  for (j=1;j<n;j++)
		  if (i+j<=n)
		  {
			  l=j+i;
			  min=2000000000;
			  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;
		  }
		  
		  
		  
		  
		  printf ("%lli",m[1][n]);
		return 0;
}