Cod sursa(job #386693)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 25 ianuarie 2010 18:38:15
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include<fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
long long l,n,i,k,m,d[503],a[503][503];
int main(){	
f>>n;
for(i=1;i<=n+1;i++)
	f>>d[i];
for(i=1;i<=n-1;i++) 
	a[i][i + 1] = d[i]*d[i+1]*d[i + 2];
for(l=2;l<=n-1;l++)
	for(i=1;i<=n-l;i++){
		a[i][i+l]=100000000000000000LL;
		for(k=i;k<=i+l-1;k++)
		{ m=a[i][k]+a[k+1][i+l]+d[i]*d[k+1]*d[i+l+1];
		if(a[i][i+l]>m)
			a[i][i+l]=m;			
		}
	}
g<<a[1][n];
f.close();
g.close();
return 0;
}