Cod sursa(job #697683)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 29 februarie 2012 10:31:47
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>

#define inf 200000000
#define dim 502

using namespace std;

ifstream f("podm.in");
ofstream g("podm.out");

int a[dim],n,i,j,D[dim][dim],l,k;

int main (){
	f>>n;
	
	for(i=1;i<=n+1;i++)
		f>>a[i];
	
	for(l=2;l<=n;l++){
		
		for(i=1,j=l;j<=n;i++,j++){
			D[i][j]=inf;
			
				for(k=i;k<=j;k++){
					
					if(D[i][j]>D[i][k]+D[k+1][j]+a[j+1]*a[k+1]*a[i] || !D[i][j])
						D[i][j]=D[i][k]+D[k+1][j]+a[j+1]*a[k+1]*a[i];
					
				}
				
		}
		
	}
	
	g<<D[1][n];
	
	return 0;
}