CF2169A.Alice and Bob

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Alice and Bob

题目描述

Alice 和 Bob 有一个袋子,里面有 nn 个弹珠,第 ii 个弹珠上写着整数 viv_i。他们玩如下游戏:首先,每个玩家选择一个整数(Alice 选择的整数记为 aa,Bob 选择的记为 bb)。之后,他们按照任意顺序依次从袋子中取出弹珠,直到袋子为空。对于每个弹珠,谁的选择整数距离弹珠上的数更近,谁就获得 1 分;如果两人距离相等,则分数归 Alice。

例如,若 a=10a=10b=30b=30,那么:

  • 对于弹珠上的数为 10,1,7,18,2010, 1, 7, 18, 20 等,Alice 获得分数(注意,她会获得 2020 这颗弹珠)。
  • 对于弹珠上的数为 59,25,30,2159, 25, 30, 21 等,Bob 获得分数。

Bob 事先得知了 Alice 会选择的整数。请你帮他选择一个整数,使他能获得最多分数。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例数量。

每个测试用例包含两行:

  • 第一行包含两个整数 nnaa1n3×1051 \le n \le 3 \times 10^51a1091 \le a \le 10^9),分别表示弹珠数量和 Alice 选择的整数。
  • 第二行包含 nn 个整数 v1,v2,,vnv_1, v_2, \dots, v_n1v1v2vn1091 \le v_1 \le v_2 \le \dots \le v_n \le 10^9)。

输入保证所有测试用例中的 nn 之和不超过 3×1053 \times 10^5

输出格式

对于每个测试用例,输出一个整数 bb0b2×1090 \le b \le 2 \times 10^9),表示 Bob 为了获得最多分数应该选择的整数。如果有多个答案,输出其中任意一个即可。

说明/提示

在第一个测试用例中,如果 Bob 选择 3535,则对于 30,40,50,60,7030, 40, 50, 60, 70 这五颗弹珠,Bob 都能获得分数。

在第三个测试用例中,无论 Bob 选择哪个整数,他都无法获得任何分数。

样例

3
7 21
10 20 30 40 50 60 70
6 500
200 200 300 500 600 600
2 7
7 7
35
333
1337

在线编程 IDE

建议全屏模式获得最佳体验