题号:NC206268
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
karasu决定旅行,他决定从他偏安一隅的左上角(0,0)前往右下角(m-1,n-1)见见世面。
karasu很急,他希望尽可能快地到达目的地,所以他每次只会向下或者向右走。
karasu很穷,他在旅行途中不能没有钱,一旦他身无分文旅行便要结束,请确保他兜里至少揣着一块钱;每到一处他若不能卖艺挣钱便要在此地花钱。
karasu想知道,为了顺利完成旅行,他最少需要带多少钱出门。
输入描述:
第一行输入两个整数m,n(2<=m,n<=100)代表出发点到目的地的距离。
接下来m行,每行输入n个整数k(-109<=K<=109)代表当地情况:正数表示karasu能在此地卖艺挣钱、负数表示karasu要在此地花钱。
输出描述:
输出一个整数,代表karasu最少需要准备的钱数。
示例1
输入
复制
3 3
-2 -3 3
-5 -10 1
10 30 -5
说明
右->右->下->下
这是最省钱的方式,为了保证时时刻刻都有一元钱揣着兜里,karasu最少需要7元。