普及⏱ 1000ms💾 256MB#P5104🏷️ 前缀和动态规划

题目描述

仓库新装了一套自动盘点系统。货架是一个 $n \times n$ 的方阵,每个货位记着一笔盈亏:正数表示盈利,负数表示损耗。

月底盘点要选出一块非空矩形区域(由若干整行、整列连续货位构成,至少含 1 个货位),要求区域内盈亏之和最大。请输出这个最大和。

例如矩阵 $\begin{matrix}1&-2\\3&4\end{matrix}$ 中,最优区域是第二行整行,和为 $3+4=7$(比全矩阵之和 $6$ 更大)。

输入格式

第一行一个整数 $n$。 接下来 $n$ 行,每行 $n$ 个整数,表示各货位的盈亏值,相邻两数用空格分隔。

输出格式

一行,一个整数,表示最大子矩阵的盈亏和(所选区域至少含一个货位)。

数据范围

$$1 \le n \le 100,\quad -127 \le \text{盈亏值} \le 127$$

样例输入 #1
3
1 -2 3
-1 4 -2
2 -3 5
样例输出 #1
7
样例输入 #2
2
-3 -1
-2 -5
样例输出 #2
-1