小平有一个 n 行 m 列的矩阵 a[i][j] ,他想在矩阵中找出一个“口”字形状的区域,使得区域上的值的和最大。
具体讲,一个“口”字形状的区域可以由两个坐标 (x1, y1) 和 (x2, y2) 确定,满足:
- 1 <= x1 < x2 <= n ;
- 1 <= y1 < y2 <= m ;
- x2 - x1 = y2 - y1 。
对应的区域由满足以下条件之一的点 (x, y) 构成:
- x1 <= x <= x2,且 y = y1 ,对应“口”的左边一竖;
- y1 <= y <= y2,且 x = x1 ,对应“口”的上面一横;
- x1 <= x <= x2,且 y = y2 ,对应“口”的右边一竖;
- y1 <= y <= y2,且 x = x2 ,对应“口”的下面一横。
请注意有些点满足以上条件的多个,例如左上角的点 (x1, y1) ,在计算时算为一个点。
区域上的值是指对应区域的所有点的值,即“口”字的框上的值,不含框内和框外的值。