Pagini recente » Cod sursa (job #3243103) | Cod sursa (job #2391272) | Cod sursa (job #1293585) | Cod sursa (job #793065) | Cod sursa (job #3347746)
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
public long solve(int n, int[] d) {
int i, j, k, len;
long [][] dp = new long[n + 1][n + 1];
for (i = 1; i <= n; i++) {
dp[i][i] = 0;
}
for (i = 1; i < n; i++) {
dp[i][i + 1] = (long) d[i - 1] * d[i] * d[i + 1];
}
for (len = 2; len <= n; len++) {
for (i = 1; i + len - 1 <= n; i++) {
j = i + len - 1;
dp[i][j] = Long.MAX_VALUE;
for (k = i; k < j; k++) {
long sol = dp[i][k] + dp[k + 1][j] + (long) d[i - 1] * d[k] * d[j];
dp[i][j] = Math.min(dp[i][j], sol);
}
}
}
return dp[1][n];
}
public static void main(String[] args) throws FileNotFoundException {
Scanner sc = new Scanner(new File("podm.in"));
int n = sc.nextInt();
int i;
int[] d = new int[n + 1];
for (i = 0; i <= n; i++) {
d[i] = sc.nextInt();
}
PrintWriter pw = new PrintWriter(new File("podm.out"));
pw.println(new Main().solve(n, d));
}
}