Cod sursa(job #2212780)

Utilizator dahaandreiDaha Andrei Codrin dahaandrei Data 14 iunie 2018 19:20:31
Problema Parantezare optima de matrici Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>

using namespace std;

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

const int MAXN = 500;
const int MAXVAL = 10000;

int dim[MAXN + 1];
int dp[MAXN + 1][MAXN + 1];
int n;

int main() {
	in >> n;

	for (int i = 0; i <= n; ++ i) {
		in >> dim[i];
	}

	for (int i = 2; i <= n; ++ i) {
		for (int j = i; j <= n; ++ j) {
			dp[i][j] = min(dp[i - 1][j] + (dim[j - (i - 1) - 1] * dim[j - (i - 1)] * dim[j]), dp[i - 1][j - 1] + (dim[(j - 1) - (i - 1)] * dim[j - 1] * dim[(j - 1) + 1]));
		}
	}

	out << dp[n][n];

  return 0;
}