Cod sursa(job #412877)

Utilizator vlad2179Popescu Vlad Alexandru vlad2179 Data 6 martie 2010 20:27:14
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
using namespace std;
long long D[505],n,m;
long long C[501][501];

int main(){
	
	ifstream f("podm.in");
	ofstream g("podm.out");
	
	f>>n;int i,j,k;
	for(i=1;i<=n+1;i++) f>>D[i];
	
	for(i=1;i<n;i++){C[i][i]=0;C[i][i+1] = D[i]*D[i+1]*D[i+2];}
	
	for( i=2; i<n ; i++)
		for(j=1;j<=n-i;j++){
			C[j][i+j] = 100000000000000LL;
			for(k = j; k<= i+j-1;k++){
				m = C[j][k] + C[k+1][i+j] + D[j]*D[k+1]*D[i+j+1];
				if( m < C[j][j+i] ) C[j][j+i] = m;
			}
		}
	
	g<<C[1][n];
	return 0;
}