CF2169A Alice and Bob
题目描述
Alice 和 Bob 有一个袋子,里面有 $n$ 个弹珠,第 $i$ 个弹珠上写着整数 $v_i$。他们玩如下游戏:首先,每个玩家选择一个整数(Alice 选择的整数记为 $a$,Bob 选择的记为 $b$)。之后,他们按照任意顺序依次从袋子中取出弹珠,直到袋子为空。对于每个弹珠,谁的选择整数距离弹珠上的数更近,谁就获得 **1 分**;如果两人距离相等,则分数归 Alice。
例如,若 $a=10$,$b=30$,那么:
- 对于弹珠上的数为 $10, 1, 7, 18, 20$ 等,Alice 获得分数(注意,她会获得 $20$ 这颗弹珠)。
- 对于弹珠上的数为 $59, 25, 30, 21$ 等,Bob 获得分数。
Bob 事先得知了 Alice 会选择的整数。请你帮他选择一个整数,使他能获得最多分数。
输入格式
第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例数量。
每个测试用例包含两行:
- 第一行包含两个整数 $n$ 和 $a$($1 \le n \le 3 \times 10^5$,$1 \le a \le 10^9$),分别表示弹珠数量和 Alice 选择的整数。
- 第二行包含 $n$ 个整数 $v_1, v_2, \dots, v_n$($1 \le v_1 \le v_2 \le \dots \le v_n \le 10^9$)。
输入保证所有测试用例中的 $n$ 之和不超过 $3 \times 10^5$。
输出格式
对于每个测试用例,输出一个整数 $b$($0 \le b \le 2 \times 10^9$),表示 Bob 为了获得最多分数应该选择的整数。如果有多个答案,输出其中任意一个即可。
说明/提示
在第一个测试用例中,如果 Bob 选择 $35$,则对于 $30, 40, 50, 60, 70$ 这五颗弹珠,Bob 都能获得分数。
在第三个测试用例中,无论 Bob 选择哪个整数,他都无法获得任何分数。