UOJ Logo 蜗牛编程训练题库

JZOJ

#256. 立方体求和

统计
时间限制:1s    空间限制:256MB    输入文件:matrix.in    输出文件:matrix.out
当前24小时内您还剩30次提交本题的机会

题目描述

SubRaY有一天得到一块西瓜,是长方体形的.... SubRaY发现这块西瓜长m厘米,宽n厘米,高h厘米.他发现如果把这块西瓜平均地分成mnh块1立方厘米的小正方体,那么每一小块都会有一个营养值(可能为负,因为西瓜是有可能坏掉的,但是绝对值不超过200). 现在SubRaY决定从这mnh立方厘米的西瓜中切出mmnnhh立方厘米的一块小西瓜(一定是立方体形,长宽高均为整数),然后吃掉它.他想知道他最多能获得多少营养值.(0<=mm<=m,0<=nn<=n,0<=hh<=h.mm,nn,hh的值由您来决定). 换句话说,我们希望从一个mnh的三维矩阵中,找出一个三维子矩阵,这个子矩阵的权和最大.

一个234的例子,最优方案为切红色231部分

输入格式

首行三个数h,m,n(注意顺序),分别表示西瓜的高,长,宽. 以下h部分,每部分是一个m*n的矩阵,第i部分第j行的第k个数表示西瓜第i层,第j行第k列的那块1立方厘米的小正方体的营养值.

输出格式

SubRaY所能得到的最大营养值

样例数据

input

2 3 4
4 1 2 8
0 5 -48 4
3 0 1 9
2 1 4 9
1 0 1 7
3 1 2 8

output

45

数据规模与约定

时间限制:$1 text {s}$

空间限制:$256 text {MB}$

注释

对于30%的数据,h=1,1<=m,n<=10

对于全部的数据,1<=h<=32,1<=m,n<=50,保证h<=m,n

解题讨论区

标题 发表者 发表日期