时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld
题目描述
给定一个
单调不降的序列
![[b_1,b_2,\ldots b_n]](https://www.nowcoder.com/equation?tex=%5Bb_1%2Cb_2%2C%5Cldots%20b_n%5D)
与一个

行

列的矩阵

。其中,矩阵

的第

行第

列的元素

。
签到哥希望从矩阵的第

行第

列移动到第

行的
任意一列。记
)
表示签到哥的位置在矩阵的第

行第

列。当签到哥位于
)
时,他可以移动到
)
或
)
或
)
。签到哥的位置
)
需要始终满足

且

。
签到哥的初始体力为

。如果签到哥想要移动到
)
,那么只有当签到哥当前的体力不低于

时,签到哥才能移动。移动后,签到哥的体力
立即增加

。
请求出签到哥到达第

行的任意一列后体力的最大值。
-
一个序列
是单调不降的,当且仅当
。
输入描述:
输入包含多组数据。
首先输入一行一个整数

(

),表示数据的组数。
对于每组数据,首先输入一行两个整数

,

(

,

)。
保证对于一个测试点的所有数据,
的和不超过
。
输出描述:
对于每组数据,输出一行一个整数,表示签到哥到达第
行时体力的最大值。
示例1
输入
复制
3
4 4
1 1 2 3
2 6
1 1 1 4 4 5
5 2
1 2
说明
在第一组数据中,矩阵如下:
签到哥可以选择如下路径:
最终体力值为

。可以证明,这是签到哥体力能达到的最大值。
在第二组数据中,一组最优的路线为
%20%5Cto%20(2%2C%201))
,最终体力值为

。
在第三组数据中,一组最优的路线为
,最终体力值为
。