Cod sursa(job #648311)

Utilizator yaniIoan Yan yani Data 13 decembrie 2011 11:40:28
Problema Parantezare optima de matrici Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
#include<limits>
#include<iostream>
using namespace std;
#define NM 512
#define INF 10000000000000000000LL
ifstream fin("podm.in");
ofstream fout("podm.out");
long long O[NM][NM],D[NM],n;
int main(){
	int i,j,poz,d,k;
	fin>>n;
	for(i=1;i<=n+1;i++) fin>>D[i];
	for(d=1;d<=n-1;d++)
		for(poz=1;poz<=n-d;poz++){
			i=poz;
			j=d+poz;
			O[i][j]=INF;
	long long min;
			for(k=i;k<j;k++){
		min=O[i][k]+O[k+1][j]+D[i]*D[k+1]*D[j+1];
		if(min<O[i][j]) O[i][j]=min;}
}fout<<O[1][n];
return 0;
}