CFCF2169A.Alice and Bob
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Alice 和 Bob 有一个袋子,里面有 n 个弹珠,第 i 个弹珠上写着整数 vi。他们玩如下游戏:首先,每个玩家选择一个整数(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≤t≤104),表示测试用例数量。
每个测试用例包含两行:
- 第一行包含两个整数 n 和 a(1≤n≤3×105,1≤a≤109),分别表示弹珠数量和 Alice 选择的整数。
- 第二行包含 n 个整数 v1,v2,…,vn(1≤v1≤v2≤⋯≤vn≤109)。
输入保证所有测试用例中的 n 之和不超过 3×105。
输出格式
对于每个测试用例,输出一个整数 b(0≤b≤2×109),表示 Bob 为了获得最多分数应该选择的整数。如果有多个答案,输出其中任意一个即可。
输入输出样例
输入#1
3 7 21 10 20 30 40 50 60 70 6 500 200 200 300 500 600 600 2 7 7 7
输出#1
35 333 1337
说明/提示
在第一个测试用例中,如果 Bob 选择 35,则对于 30,40,50,60,70 这五颗弹珠,Bob 都能获得分数。
在第三个测试用例中,无论 Bob 选择哪个整数,他都无法获得任何分数。