Problem A: 算法实验 6-1 动态规划-矩阵连乘问题

Problem A: 算法实验 6-1 动态规划-矩阵连乘问题

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 919  Solved: 688
[Submit] [Status] [Web Board] [Creator:]

Description

给定 n 个矩阵{A1,A2,…,An},其中 Ai 与 Ai+1 是可乘的, i=1,2…,n-1,如何确定矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积所需要的乘法次数最少。
例,有四个矩阵
A, B, C, D,它们的维数分别是: A=50× 10, B=10×40, C=40× 30, D=30× 5,连乘积 ABCD 有如下完全加括号的方式,对应的乘法次数如下:
(A((BC)D)) 16000
((AB)(CD)) 36000
((A(BC))D) 34500
(A(B(CD))) 10500
(((AB)C)D) 87500
请设计算法,求解该问题的最优计算代价。

Input

第1行为n,表示有n个矩阵连乘。
第2行依次输入n+1个整数,表示上述n各连乘矩阵的大小。

Output

输出矩阵连乘的最小乘法次数(计算代价)。

Sample Input Copy

4
5 20 50 1 100

Sample Output Copy

1600