Cod sursa(job #505607)

Utilizator chrisuPirvu Cristina chrisu Data 3 decembrie 2010 08:33:21
Problema Parantezare optima de matrici Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<stdio.h>
const int INF =10050;
int n, v[505],a[505][505],i,j,k;
int min (int a, int b)
{
	if (a<b) return a;
	return b;
}
int main()

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