#4163. A. Line Trip 线路行程 800
A. Line Trip 线路行程 800
A. Line Trip
时间限制:每个测试2秒 内存限制:每个测试256MB
题目描述:
有一条路,它可以用数轴表示。你位于数轴上的点 0 处,想要从点 0 出发,前往点 x,并且再返回到点 0。
你乘坐的车辆每行驶 1 个单位的距离消耗 1 升汽油。当你从点 0 出发时,车辆的油箱是满的(即油箱装满了最大可能的油量)。
路上有 n 个加油站,分别位于点 a1, a2, ..., an。当你到达一个加油站时,你可以将油箱加满。请注意,只有在加油站处可以加油,且 0 和 x 处没有加油站。
你需要计算,最小可能的油箱容量(以升为单位),使得你能从点 0 出发到达点 x 并返回点 0。
输入格式:
第一行包含一个整数 t(1 ≤ t ≤ 1000),表示测试用例的个数。
每个测试用例包含两行:
- 第一行包含两个整数 n 和 x(1 ≤ n ≤ 50; 2 ≤ x ≤ 100),表示加油站的数量和目的地点 x 的坐标。
- 第二行包含 n 个整数 a1, a2, ..., an(0 < a1 < a2 < ... < an < x),表示加油站的位置。
输出格式:
对于每个测试用例,输出一个整数,表示最小可能的油箱容量,使得你能从点 0 到点 x 并返回点 0。
示例:
输入:
3
3 7
1 2 5
3 6
1 2 5
1 10
7
输出:
4
3
7
说明:
在示例的第一个测试用例中,如果车辆的油箱容量为 4 升,以下是行程安排:
- 从点 0 到达点 1,油箱剩余 3 升;
- 在点 1 加满油箱,油箱容量为 4 升;
- 从点 1 到点 2,油箱剩余 3 升;
- 在点 2 加满油箱,油箱容量为 4 升;
- 从点 2 到点 5,油箱剩余 1 升;
- 在点 5 加满油箱,油箱容量为 4 升;
- 从点 5 到点 7,油箱剩余 2 升;
- 从点 7 返回点 5,油箱剩余 0 升;
- 在点 5 加满油箱,油箱容量为 4 升;
- 从点 5 到点 2,油箱剩余 1 升;
- 在点 2 加满油箱,油箱容量为 4 升;
- 从点 2 到点 1,油箱剩余 3 升;
- 在点 1 加满油箱,油箱容量为 4 升;
- 从点 1 到点 0,油箱剩余 3 升。
因此,最小油箱容量是 4 升。