Cod sursa(job #1398015)

Utilizator LycrsTrifan Tamara Lycrs Data 23 martie 2015 22:03:35
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include<string>

using namespace std;
ifstream cin("podm.in");
ofstream cout("podm.out");

const long long MX=1000000000005;

int n, i, j;
long long m[505][505], d[505];


int main()
{
	cin>>n;
	for(i=0; i<=n; ++i) cin>>d[i];
	
	for(j=2; j<=n; ++j)
		for(i=1; i<=n-j+1; ++i)
		{
			int l=i+j-1;
			m[i][l]=MX;		
			
			for(int k=i; k<l; ++k)
				m[i][l]=min(m[i][k]+m[k+1][l]+d[i-1]*d[k]*d[l], m[i][l]);	
				
		}
		
		cout<<m[1][n];

	return 0;
}