Cod sursa(job #807450)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 4 noiembrie 2012 18:54:51
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include<fstream>
#define INF 100000000000LL


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

long long a[505][505], d[505];
int i,j,n,k,D;
long long min(long long a, long long b){
       return a<b ? a:b;
}
int main(){
   
   
	f>>n; 
	for (i=0; i<=n; ++i)
		f>>d[i];
	
	for (i=1; i<n; ++i)
		a[i][i+1]=d[i-1]*d[i]*d[i+1];
	
	for (D=2; D<n; ++D)
        for (i=1; i<=n-D; ++i){
			j=i+D; 
			a[i][j]=INF;
			for (k=i; k<j; ++k)
				a[i][j]=min(a[i][j],a[i][k]+a[k+1][j]+d[i-1]*d[k]*d[j]);
		}
	
	g<<a[1][n];
  return(0);
}