说明
给定一个 n×m 的棋盘 A,你需要选择棋盘上的三个点 (x1,y1), (x2,y1), (x1,y2),使得以下公式的值 V 最大化:
$$V = \sum_{i=\min(x_1,x_2)}^{\max(x_1,x_2)} A_{i,y_1} + \sum_{j=\min(y_1,y_2)}^{\max(y_1,y_2)} A_{x_1,j} - A_{x_1,y_1}$$
输入格式
- 第一行包含两个整数 n 和 m,分别表示棋盘的行数和列数。
- 接下来的 n 行,每行包含 m 个整数,表示棋盘的元素。
输出格式
输出一个整数,即最大化的 V 值。
2 2
8 1
3 4
15
1 8
-2 -1 8 -2 9 0 -2 1
15
提示
【样例解释】
对于样例 1,选择点 (1,1), (2,1), (1,2),覆盖的数字为 8,3,4,总和为 15。
对于样例 2,选择点 (1,3), (1,5), (1,3),形成一条直线,覆盖的数字为 8,−2,9,总和为 15。
【数据范围】
- 1≤n,m≤1000
- −109≤Ai,j≤109
| 子任务编号 |
分值 |
额外限制条件 |
| 1 |
5 |
1≤n,m≤2 |
| 2 |
10 |
n=1 |
| 3 |
15 |
1≤n,m≤100 |
| 4 |
1≤n,m≤300 |
| 5 |
25 |
0≤Ai,j≤109 |
| 6 |
30 |
无额外限制 |