Cod sursa(job #503836)

Utilizator pirvupirvu tudor pirvu Data 25 noiembrie 2010 12:06:01
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<cstdio>

long long  n,i,j,k,x,stanga,dreapta,max,s;
long long a[505][505],v[505];



int main()
{
	freopen("podm.in","r",stdin);
	freopen("podm.out","w",stdout);
	
	scanf("%lld", &n);
	
	for (i=1;i<=n+1;i++)
		scanf("%lld", &v[i]);

	
	
	for (i=n;i>=1;i--)
		for (j=i+1;j<=n;j++)
		{
			a[i][j]=1<<29;
			for (k=i;k<j;k++)	
				if (a[i][j] > a[i][k]+a[k+1][j]+v[i]*v[j+1]*v[k+1]) a[i][j]=a[i][k]+a[k+1][j]+v[i]*v[j+1]*v[k+1];
		}
	
	
	printf("%lld", a[1][n]);
	
	return 0;
}