传统题 1000ms 256MiB

Line Trip

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

有一条道路,可以表示为数轴。你位于数轴上的点 00,你想从点 00 行驶到点 xx,再从点 xx 返回点 00

你驾驶汽车出行,汽车每行驶 11 个距离单位会消耗 11 升汽油。出发时(在点 00),你的汽车油箱是满的(油量等于油箱最大容量)。

数轴上有 nn 个加油站,分别位于 a1,a2,,ana_1,a_2,\dots,a_n。当你到达任意一个加油站时,你会把油箱加满。注意:你只能在加油站加油,并且在点 00 和点 xx 处都没有加油站。

请你计算:为了保证你能从 00xx 再返回 00,汽车油箱所需的最小容量(单位:升)。

输入格式

第一行一个整数 tt1t10001\le t\le 1000),表示测试用例数量。

每个测试用例包含两行:

  • 第一行两个整数 nnxx1n501\le n\le 502x1002\le x\le 100)。
  • 第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n(满足 0<a1<a2<<an<x0<a_1<a_2<\cdots<a_n<x),表示加油站位置。

输出格式

对每个测试用例输出一行一个整数,表示完成往返所需的最小油箱容量。

说明

要完成往返,油箱容量至少需要覆盖:

  • 相邻加油点之间的最大距离(单程段),以及
  • 从最后一个加油站到 xx 后再返回到该加油站这一段(因为在 xx 不能加油),其耗油为 2(xan)2\cdot(x-a_n)

因此答案为:

  • 设点序列为 0,a1,a2,,an,x0,a_1,a_2,\dots,a_n,x,相邻差值最大为 dmaxd_{\max}
  • dend=xand_{\text{end}} = x-a_n
  • 则最小油箱容量为 max(dmax,,2dend)\max(d_{\max},,2\cdot d_{\text{end}})

样例

输入

3
3 7
1 2 5
3 6
1 2 5
1 10
7

输出

4
3
7

1月17日练习题

未认领
状态
已结束
题目
5
开始时间
2026-1-16 0:00
截止时间
2026-1-17 23:59
可延期
24 小时