import java.util.*;
import java.lang.*;
class Main
{
public static int MemoizedMatrixChain(final int[] p) {
int n = p.length - 1;
int[][] m = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = i; j < n; j++) {
}
}
return lookUpChain(m, p, 1, n - 1);
}// MemoizedMatrixChain
public static int lookUpChain(final int[][] m, final int[] p, final int i, final int j) {
return m[i][j];
}
if (i == j) {
m[i][j] = 0;
} else {
for (int k = i; k <= j - 1; k++) {
int q = lookUpChain(m, p, i, k) + lookUpChain(m, p, k + 1, j) + p[i - 1] * p[k] * p[j];
if (q < m[i][j]) {
m[i][j] = q;
}
}
}
return m[i][j];
}
public static void main
(final String[] args
) { // TODO Auto-generated method stub
int[] arr = { 30, 35, 15, 5, 10, 20, 25 };
int result = MemoizedMatrixChain(arr);
}// main
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CgpjbGFzcyBNYWluCnsKICAgIHB1YmxpYyBzdGF0aWMgaW50IE1lbW9pemVkTWF0cml4Q2hhaW4oZmluYWwgaW50W10gcCkgewoJCWludCBuID0gcC5sZW5ndGggLSAxOwoJCWludFtdW10gbSA9IG5ldyBpbnRbbl1bbl07CgkJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKCQkJZm9yIChpbnQgaiA9IGk7IGogPCBuOyBqKyspIHsKCQkJCW1baV1bal0gPSBJbnRlZ2VyLk1BWF9WQUxVRTsKCQkJfQoJCX0KCQlyZXR1cm4gbG9va1VwQ2hhaW4obSwgcCwgMSwgbiAtIDEpOwoJfS8vIE1lbW9pemVkTWF0cml4Q2hhaW4KCglwdWJsaWMgc3RhdGljIGludCBsb29rVXBDaGFpbihmaW5hbCBpbnRbXVtdIG0sIGZpbmFsIGludFtdIHAsIGZpbmFsIGludCBpLCBmaW5hbCBpbnQgaikgewoJCWlmIChtW2ldW2pdID4gSW50ZWdlci5NQVhfVkFMVUUpIHsKCQkJcmV0dXJuIG1baV1bal07CgkJfQoJCWlmIChpID09IGopIHsKCQkJbVtpXVtqXSA9IDA7CgkJfSBlbHNlIHsKCQkJZm9yIChpbnQgayA9IGk7IGsgPD0gaiAtIDE7IGsrKykgewoJCQkJaW50IHEgPSBsb29rVXBDaGFpbihtLCBwLCBpLCBrKSArIGxvb2tVcENoYWluKG0sIHAsIGsgKyAxLCBqKSArIHBbaSAtIDFdICogcFtrXSAqIHBbal07CgkJCQlpZiAocSA8IG1baV1bal0pIHsKCQkJCQltW2ldW2pdID0gcTsKCQkJCX0KCQkJfQoJCX0KCQlyZXR1cm4gbVtpXVtqXTsKCX0KCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihmaW5hbCBTdHJpbmdbXSBhcmdzKSB7CgkJLy8gVE9ETyBBdXRvLWdlbmVyYXRlZCBtZXRob2Qgc3R1YgoJCWludFtdIGFyciA9IHsgMzAsIDM1LCAxNSwgNSwgMTAsIDIwLCAyNSB9OwoJCWludCByZXN1bHQgPSBNZW1vaXplZE1hdHJpeENoYWluKGFycik7CgkJU3lzdGVtLm91dC5wcmludGxuKHJlc3VsdCk7CgoJfS8vIG1haW4KfQ==