Cod sursa(job #508621)

Utilizator nightwish0031Vlad Radu Cristian nightwish0031 Data 9 decembrie 2010 10:13:06
Problema Parantezare optima de matrici Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<cstdio>
int main()
{
	int n,i,j,k,max;
	int a[501][501];
	int x[101];
	
	freopen("podm.in","r",stdin);
	freopen("podm.out","w",stdout);
	
	scanf("%d",&n);
	for (i=1;i<=n;++i)
		{
			scanf("%d",&x[i]);
			a[i][i]=0;
	}
	
	for (i=n;i>=1;--i)
		for (j=i+1;j<=n;++j)
		{
			max=1<<30;
			for (k=i;k<j;++k)
				if (a[i][k]+a[k+1][j]+x[i]*x[j+1]*x[k+1]<max)
					max=a[i][k]+a[k+1][j]+x[i]*x[j+1]*x[k+1];
			a[i][j]=max;
		}
	
	printf("%d",a[1][n]);
	
	return 0;
}