#1286. B3975 [语言月赛 202405] 最大的和

B3975 [语言月赛 202405] 最大的和

B3975 [语言月赛 202405] 最大的和

题目描述

小 S 喜欢连在一起的数字,如果这些数字的和很大就更好了。

所以她现在要给你一个 nn 行 nn 列的网格 AA,第 ii 行第 jj 列上填有一个整数 Ai,jA_{i, j}。

接下来你可以在 AA 上任取一行、一列或一条与任意对角线平行且只经过网格交叉点的直线(注意,不是线段),满足经过至少一个数字,且经过的数字之和最大。

如果对上面的表述有疑惑,请参考样例解释辅助理解。

你需要告诉小 S 这个最大的数字之和。

输入格式

输入共 n+1n+1 行。

第一行,一个正整数 nn,表示方阵的行数、列数。

接下来 nn 行,每行 nn 个用空格隔开的整数,其中第 ii 行第 jj 个整数表示 Ai,jA_{i, j}。

输出格式

输出一行一个整数,表示最大的数字之和。

输入输出样例 #1

输入 #1


3

1 1 1

2 2 2

3 3 3



输出 #1


9



输入输出样例 #2

输入 #2


3

-1 1 2

4 0 3

1 9 2



输出 #2


13



输入输出样例 #3

输入 #3


3

-1 -1 -1

-1 -1 -1

-1 -1 -1



输出 #3


-1



输入输出样例 #4

输入 #4


3

-100 -10 -100

-10 99999 -10

-100 -10 -100



输出 #4


99979



说明/提示

样例 1 解释

对于样例 11,不难看出第 33 行数字之和最大,有 3+3+3=93 + 3 + 3 = 9。

样例 2 解释

对于样例 22,数字之和最大的,满足条件的线如下所示:

此时有 4+9=134 + 9 = 13。

注意,因为要求与对角线平行的直线只能经过网格交点,所以并不能出现同时取 4,1,94, 1, 9 或同时取 4,1,9,24, 1, 9, 2 这样的情况。

样例 33 解释

取某条只经过一个 −1-1 的直线即为最大。注意,不可以一个数字都不选。

样例 44 解释

显然,取斜着的线一定不优,只能选择中间那一行或一列,答案是 −10+99999−10=99979-10 + 99999 - 10 = 99979。

数据范围

对于前 30%30 \% 的数据,保证 A1,1A_{1, 1} 或 An,nA_{n, n} 的值为网格中唯一的非负整数。

对于另 20%20 \% 的数据,保证每一行数字相同,且最后一行中的数字之和为最大值。

对于另 20%20 \% 的数据,保证每一行数字相同,网格中不存在负数。

对于 100%100 \% 的数据,保证 $1 \leq n \leq 2 \times 10^3, -10^5 \leq A_{i, j} \leq 10^5$。