以气御剑3
题号:NC219156
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

继续说回 Bear_2 要从宗门 (1,1) 前往远方 (n,m) 。(如果没有读过上一题也没有关系

Bear_2 终于学会了 Keven 给的传送,但是他明显是个笨比,只学会了一小部分,他现在可以从任意地点 A 往右或者往下传送到任意地点 B (既如果他在 (1,1) 的位置,他一次可以传送到 (1,X) 或者 (X,1){X>1,且不可以超出地图范围} ),所用的灵气为 HA - HB。本来如果 HA 小于 H时,他可以回复 HB - HA 的灵气,但是他灵气到了他身上就散了,既不能回复任何灵气。若 HA 大于HB 则消耗 HA - H的灵气。
地图上显示每个位置 (i,j) 都有一定的海拔 Hi,j 米。他想知道到 (n,m) 最少需要多少灵力。

输入描述:

第一行给出两个正整数 n,m (1<=n,m<=1000)
之后的 n 行,每行给出 m 个正整数 Hi,j (1<=Hi,j<=1000) 表示位置 (i,j) 的海拔

输出描述:

在一行内输出一个正整数表示到达 (n,m) 最少需要消耗的灵力
示例1

输入

复制
3 3
0 1 9
5 9 9
3 2 1

输出

复制
2

说明

一开始他在 (1,1)
往东传送到 (1,2) 消耗 1 点灵气
往南传送到 (3,2) 消耗 1 点灵气
往东传送到 (3,3) 不消耗灵气
共消耗了 2 点灵气