Cod sursa(job #1196822)

Utilizator ion824Ion Ureche ion824 Data 9 iunie 2014 12:25:30
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
#include<algorithm>
using namespace std;

long long a[504];
long long d[504][504];

int main(){
	ifstream cin("podm.in");
	ofstream cout("podm.out");
	int N,i,j,k,l;
	long long p, mn;
	
	cin>>N;
	for(i=1;i<=N+1;++i) cin>>a[i];
	
	for(l=1;l<=N;++l)
	  for(i=1,j=1+l;j<=N;++i,++j)
	  {
	  	mn = -1;
	  	for(k=i;k<j;++k)
	  	{
	  		p = d[i][k] + d[k+1][j] + a[i] * a[k+1] * a[j+1];
			if(mn == -1 || p < mn) mn = p; 
	  	}
	  	d[i][j] = mn;
	  }
	
	cout << d[1][N] << '\n';
	
	return 0;
}