Cod sursa(job #553831)

Utilizator drag0s93Mandu Dragos drag0s93 Data 14 martie 2011 12:50:28
Problema Parantezare optima de matrici Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<stdio.h>

long long n,d[1001],a[1001][1001];
long long k,i,j;


int main()
{
	freopen("podm.in","r",stdin);
	freopen("podm.out","w",stdout);
	scanf("%lld",&n);
	for(int z=1;z<=n+1;++z)
		scanf("%lld",&d[z]);
	for(i=n;i>=1;--i)
		for(j=i+1;j<=n;++j)
		{
			a[i][j]=10000000;
			for(k=i;k<j;++k)
			if (a[i][j] > a[i][k]+a[k+1][j]+d[i]*d[j+1]*d[k+1]) 
				a[i][j]=a[i][k]+a[k+1][j]+d[i]*d[j+1]*d[k+1];
		}
	printf("%lld", a[1][n]);
    return 0;
}