#CF2021D. 老板,口渴了
老板,口渴了
D. 老板,口渴了
时间限制:每个测试 秒
内存限制: MB
Pak Chanek 有一个朋友,在食堂里开了一家饮料摊。这位朋友将连续 天售卖饮料,天数编号为第 天到第 天。共有 种饮料,编号为 到 。
在特定的一天售卖某种饮料所获得的利润可能会有所不同。在第 天,售卖第 种饮料的预计利润为 。注意 可能为负数,这意味着售卖该饮料实际上会造成亏损。
Pak Chanek 想要帮助他的朋友规划这 天的销售。在第 天,Pak Chanek 必须选择至少售卖一种饮料。此外,某一天售卖的饮料类型必须构成一个子数组。换句话说,在每一天,Pak Chanek 会选择两个下标 和 ,满足 ,然后售卖所有介于 和 之间(包含两端)的饮料类型。
然而,为了让前一天的顾客能够继续光顾,第 天()售卖的饮料类型选择必须满足以下条件:
- 第 天售卖的饮料中,至少有一种也在第 天售卖过;
- 第 天售卖的饮料中,至少有一种在第 天没有售卖过。
每天的利润是当天售卖的所有饮料类型的利润之和。整个销售计划的总利润是 天利润的总和。如果 Pak Chanek 最优地规划销售,他能获得的最大总利润是多少?
输入格式
每个测试包含多个测试用例。第一行包含一个整数 (),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 和 (,,),分别表示网格的行数和列数。
接下来的 行,每行包含 个整数,其中第 行包含整数 (),表示第 天每种饮料的预计利润。
保证所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出一个整数:Pak Chanek 能获得的最大利润。
示例
输入
1
3 6
79 20 49 5 -1000 500
-105 9 109 24 -98 -499
14 47 12 39 23 50
输出
475
样例解释
以下是 Pak Chanek 的最优计划:

- 第 天,Pak Chanek 售卖饮料类型 到 ,获得利润 。
- 第 天,Pak Chanek 售卖饮料类型 到 ,获得利润 。
- 第 天,Pak Chanek 售卖饮料类型 到 ,获得利润 。
因此,Pak Chanek 计划的总利润为 。