2601. 护符之路
1000ms
512MB
简单
题目描述
小 J 在一个 `n × m` 的方格地图上探险。第 `i` 行第 `j` 列的格子有一个整数 $a_{i,j}$:
- 若 $a_{i,j} > 0$,经过该格子可获得 $a_{i,j}$ 枚金币;
- 若 $a_{i,j} < 0$,经过该格子会损失 $-a_{i,j}$ 枚金币;
- 若 $a_{i,j} = 0$,没有任何影响。
小 J 从左上角 `(1,1)` 出发,每一步只能向**右**或向**下**走一格,最终到达右下角 `(n,m)`。起点和终点的格子也算经过。
小 J 带了 `k` 张护符。每经过一个格子时,他可以选择使用一张护符,使该格子的数值**视为 `0`**,每张护符只能使用一次,也可以不用完。
请你求出小 J 到达终点时,金币总变化量的最大值。结果可能为负数。
输入格式
第一行三个整数 `n, m, k`。
接下来 `n` 行,每行 `m` 个整数,表示 $a_{i,j}$。
输出格式
输出一个整数,表示金币总变化量的最大值。
样例 1
输入 (Input)
输出 (Output)
样例 2
输入 (Input)
输出 (Output)
样例说明
### 样例解释 1
走 `(1,1) → (1,2) → (2,2) → (2,3) → (3,3)`,经过的数值依次为 `1, -5, 4, -2, 3`,对 `-5` 使用护符,总和为 `1 + 0 + 4 - 2 + 3 = 6`。
另一条路线 `(1,1) → (2,1) → (2,2) → (2,3) → (3,3)` 对 `-3` 使用护符,也能得到 `6`。可以验证没有更优方案。
- $1 <= n, m <= 300$
- $0 <= k <= 10$
- $-10^4 <= a_{i,j} <= 10^4$
› 输入 stdin
CtrlShiftEnter
‹ 输出 stdout
错误 stderr
操作成功