CFCF2194E.The Turtle Strikes Back
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在一次艰苦的训练之后,Michelangelo 和 Raphael 决定点披萨庆祝。今天因为节日,披萨店准备了由 n 行 m 列切片组成的矩形披萨。每片披萨都有独特的配方和风味。
Michelangelo 是第一个打开盒子的人,他粗略估算了每片披萨的享受值:位于第 i 行第 j 列的披萨片带来的享受值为 ai,j。保证至少有一片披萨是 Michelangelo 喜欢的,即 ai,j 中至少有一个非负数。
两只乌龟约定由 Michelangelo 先吃。按照古老的传统,他必须从左上角 (1,1) 走到右下角 (n,m),并吃掉这条路径上的所有披萨片。每一步,他只能向右或向下走到相邻的披萨片。
Michelangelo 希望最大化他吃到的总享受值。
然而 Raphael 决定使用特制酱汁。在 Michelangelo 选择路径之前,Raphael 决定选择恰好一片披萨,并在上面涂抹他独家秘制的酱汁。但是由于这种酱汁特殊,这片披萨的享受值会变为相反数:即原来是 ai,j,使用酱汁后变为 −ai,j。
之后,Michelangelo 知道 Raphael 的选择后,将为自己选择最优路径,吃掉这条路径上的所有披萨片。
Raphael 很好奇 Michelangelo 最少能够获得多少享受值。请帮助他计算这个最小值。
输入格式
每个测试点包含多个测试用例。第一行包含测试用例数 t(1≤t≤104)。随后是每个测试用例的描述。
每个测试用例的第一行包含两个整数 n,m(1≤n,m≤106,1≤n⋅m≤106),表示表格的行数和列数。
接下来的 n 行,每行包含 m 个用空格隔开的整数。第 i 行第 j 个数字表示 ai,j(−109≤ai,j≤109)。保证 ai,j 中至少有一个非负数。
保证所有测试用例中 n⋅m 的总和不超过 106。
输出格式
对于每个测试用例,输出一个整数,表示 Raphael 能保证的 Michelangelo 最少能获得的享受值。
输入输出样例
输入#1
2 3 3 1 -2 3 4 -5 2 1 6 -1 2 4 -1 -1 -1 1 -1 -1 -1 -1
输出#1
3 -5
说明/提示
如果 Raphael 不使用酱汁,Michelangelo 会选择如下路径:
(1,1)→(2,1)→(3,1)→(3,2)→(3,3)
获得的总享受值为 1+4+1+6−1=11。
然而,如果 Raphael 将酱汁用在单元格 (3,2) 上,值 6 会变为 −6。此时 Michelangelo 的最优路径为:
(1,1)→(1,2)→(1,3)→(2,3)→(3,3)
获得的总享受值为 1−2+3+2−1=3。在其他任何单元格上使用酱汁,Raphael 都无法获得更低的结果。