CFCF2194E.The Turtle Strikes Back

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在一次艰苦的训练之后,Michelangelo 和 Raphael 决定点披萨庆祝。今天因为节日,披萨店准备了由 nnmm 列切片组成的矩形披萨。每片披萨都有独特的配方和风味。

Michelangelo 是第一个打开盒子的人,他粗略估算了每片披萨的享受值:位于第 ii 行第 jj 列的披萨片带来的享受值为 ai,ja_{i,j}。保证至少有一片披萨是 Michelangelo 喜欢的,即 ai,ja_{i,j} 中至少有一个非负数。

两只乌龟约定由 Michelangelo 先吃。按照古老的传统,他必须从左上角 (1,1)(1,1) 走到右下角 (n,m)(n,m),并吃掉这条路径上的所有披萨片。每一步,他只能向右或向下走到相邻的披萨片。

Michelangelo 希望最大化他吃到的总享受值。

然而 Raphael 决定使用特制酱汁。在 Michelangelo 选择路径之前,Raphael 决定选择恰好一片披萨,并在上面涂抹他独家秘制的酱汁。但是由于这种酱汁特殊,这片披萨的享受值会变为相反数:即原来是 ai,ja_{i,j},使用酱汁后变为 ai,j-a_{i,j}

之后,Michelangelo 知道 Raphael 的选择后,将为自己选择最优路径,吃掉这条路径上的所有披萨片。

Raphael 很好奇 Michelangelo 最少能够获得多少享受值。请帮助他计算这个最小值。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例数 tt1t1041 \le t \le 10^4)。随后是每个测试用例的描述。

每个测试用例的第一行包含两个整数 n,mn, m1n,m106,1nm1061 \le n, m \le 10^6, 1 \leq n \cdot m \le 10^6),表示表格的行数和列数。

接下来的 nn 行,每行包含 mm 个用空格隔开的整数。第 ii 行第 jj 个数字表示 ai,ja_{i,j}109ai,j109-10^9 \leq a_{i,j} \leq 10^9)。保证 ai,ja_{i,j} 中至少有一个非负数。

保证所有测试用例中 nmn \cdot m 的总和不超过 10610^6

输出格式

对于每个测试用例,输出一个整数,表示 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,1) \rightarrow (2,1) \rightarrow(3,1) \rightarrow (3,2) \rightarrow (3,3)

获得的总享受值为 1+4+1+61=111 + 4 + 1 + 6 - 1 = 11

然而,如果 Raphael 将酱汁用在单元格 (3,2)(3,2) 上,值 66 会变为 6-6。此时 Michelangelo 的最优路径为:

(1,1)(1,2)(1,3)(2,3)(3,3)(1,1) \rightarrow (1,2) \rightarrow (1,3) \rightarrow (2,3) \rightarrow (3,3)

获得的总享受值为 12+3+21=31 - 2 + 3 + 2 - 1 = 3。在其他任何单元格上使用酱汁,Raphael 都无法获得更低的结果。

首页