#122. 华为OD-最大矩阵和(100分)

题目描述
题解
题库

华为OD-最大矩阵和(100分)

题目描述

给定一个二维整数矩阵,要在这个矩阵中选出一个子矩阵,使得这个子矩阵内所有的数字和尽量大,我们把这个子矩阵称为和最大子矩阵,子矩阵的选取原则是原矩阵中一块相互连续的矩形区域。

输入描述

输入的第一行包含 2 个整数 n,mn, m1n,m101 \leq n, m \leq 10),表示一个 nnmm 列的矩阵,下面有 nn 行,每行有 mm 个整数,同一行中,每 2 个数字之间有 1 个空格,最后一个数字后面没有空格,所有的数字的在 [1000,1000][-1000, 1000] 之间。

输出描述

输出一行一个数字,表示选出的和最大子矩阵内所有的数字和。

样例1

输入

3 4
-3 5 -1 5
2 4 -2 4
-1 3 -1 3

输出

20

说明

一个 3×43 \times 4 的矩阵中,后面 3 列的子矩阵求和加起来等于 20,和最大。