CF2157D Billion Players Game
题目描述
[NemesisTheory - Rose At Nightfall](https://soundcloud.com/pyrk13/rose-at-nightfall)
⠀
你正在关注亿人游戏(Billion Players Game)世界锦标赛。有 $10^9$ 名选手参加,你想预测你最喜欢的主播 Godflex 的最终排名 $p$。经过最近比赛情况的分析,你确定 $l \leq p \leq r$,但除此之外,没有更多的信息。
比赛的游戏内博彩公司提供了 $n$ 个“竞猜”机会。在第 $i$ 个竞猜中,博彩公司给出 Godflex 排名的预测值 $a_i$。对于每个竞猜,你必须选择以下三种操作之一:
- 忽略这次竞猜;
- 接受竞猜并断言 $p \leq a_i$。如果你的断言正确,你将获得 $|p-a_i|$ robocoins,否则你将失去 $|p-a_i|$ robocoins;
- 接受竞猜并断言 $p \geq a_i$。如果你的断言正确,你将获得 $|p-a_i|$ robocoins,否则你将失去 $|p-a_i|$ robocoins。
你对所有竞猜机会做出操作后,实际比赛才会进行。Godflex 的排名 $p$ 将会在区间 $[l, r]$ 内选出,然后所有竞猜结算。
你的总得分是你无论如何都能保证获得的 robocoins 数量,即在所有可能的 $p \in [l, r]$ 范围内,你能够保证获得的 robocoins 的最小值。请你计算你能够保证的最大得分。
输入格式
每个测试用例包含多组数据。第一行为测试用例组数 $t$($1 \le t \le 10^4$)。每组数据描述如下:
每组测试用例的第一行包含三个整数 $n$、$l$、$r$($1 \leq n \leq 2 \cdot 10^5$,$1 \leq l \leq r \leq 10^9$),分别表示竞猜次数以及 Godflex 最终排名的可能区间。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($1 \leq a_i \leq 10^9$),表示博彩公司为每次竞猜给出的排名估计。
保证所有测试用例中 $n$ 的总和不超过 $2 \times 10^5$。
输出格式
对于每个测试用例,输出一个整数,表示你能够保证的最大得分。
说明/提示
第一组数据中只有一次竞猜:
- 如果你忽略该竞猜,你的得分为 $0$;
- 如果你接受了竞猜并宣称 $p \leq 3$,你的得分为 $-2$(当 $p = 5$ 时你将失去 $|5-3| = 2$ robocoins);
- 如果你接受了竞猜并宣称 $p \geq 3$,你的得分为 $-2$(当 $p = 1$ 时你将失去 $|1-3| = 2$ robocoins)。
因此最大保证得分为 $0$。
在第二组数据中,最优策略是接受竞猜并宣称 $p \geq 50$ 以及 $p \leq 200$。由于 $p$ 必须为 $100$,你将获得 $|100-50| + |100-200| = 150$ robocoins。
由 ChatGPT 5 翻译