#P2008. 二维迷宫最大得分

二维迷宫最大得分

题目描述

有一个 nn 行 mm 列的二维网格。我们用 (r,c)(r, c) 表示这个二维迷宫中从上到下第 rr 行,从左到右第 cc 列的格子。

每个格子上都有一个数字,其中格子 (i,j)(i, j) 上的数字是 ai,ja_{i,j}。

Lucas 一开始在网格的左上角 (1,1)(1, 1) 处,他要到达网格的右下角 (n,m)(n, m) 处。

每次移动,Lucas 都只能从当前所在的格子 向右 或 向下 移动到与它相邻的那个格子中。

Lucas 最终会有一个得分,这个得分定义为 Lucas 在移动过程中到达过的所有格子上的数字之和(包括 a1,1a_{1, 1} 和 an,ma_{n,m})。

请你帮助 Lucas 设计一个移动路线,使得他的得分最大。并输出这个最大得分。

输入格式

第一行,两个整数 nn 和 mm,以一个空格分隔。

接下来 nn 行,每行包含 mm 个整数,表示每个格子上的数字。其中,第 ii 行的第 jj 个数字表示 ai,ja_{i, j}。

输出格式

输出一个整数,表示 Lucas 的最大得分。

样例

3 2
1 2
3 4
5 6
15
4 5
-5 2 -4 7 -3
3 1 -2 -8 6
-5 -2 3 0 -2
2 -7 3 -8 -5
-4

说明/提示

数据规模与约定

  • 对于 20%20\% 的数据,n,m≤10n, m \le 10,∣ai,j∣≤10| a_{i,j} | \le 10
  • 对于 40%40\% 的数据,n,m≤100n, m \le 100,∣ai,j∣≤1000| a_{i,j} | \le 1000
  • 对于 100%100\% 的数据,1≤n,m≤10001 \le n, m \le 1000,∣ai,j∣≤109| a_{i,j} | \le 10^9