Description
一个长,宽,高分别是m,n,p的长方体被分割成m*n*p个小立方体。每个小立方体内含一个整数。
试着设计一个算法,计算所给长方体的最大子长方体。子长方体的大小由它内部所含所有整数之和确定。
约定:当该长方体所有元素均为负数时,输出最大子长方体为0。
Input
第一行3个正整数m,n,p,其中 1<=m,n,p<=50
接下来的m*n行中每行p个整数,表示小立方体中的数。
Output
第一行中的数是计算出的最大子长方体的大小。
Sample Input
3 3 3
0 -1 2
1 2 2
1 1 -2
-2 -1 -1
-3 3 -2
-2 -3 1
-2 3 3
0 1 3
2 1 -3
Sample Output
14
Hint
1,先编写一维的“最大字段和”的解法。
2,基于“最大字段和”,编写二维的“最大子矩阵和”的解法。
3,基于“最大子矩阵和”,编写三维的“最大子长方体和”的解法。
1