Codeforces Round 1066 (Div. 1 + Div. 2)
D
Billion Players Game
Codeforces
1600
原题
← CE →
翻译中…

You are following the world championship of the Billion Players Game. There are $10^9$ players competing, and you want to predict the final ranking $p$ of Godflex, your favorite streamer. After analyzing recent matches, you are sure that $l \leq p \leq r$, but you don't know anything else.

翻译中…

There are $n$ offers made by the in-game bookmaker. In the $i$-th offer, the bookmaker suggests an estimation $a_i$ for Godflex's final ranking. For each offer, you must choose exactly one of the following actions:

翻译中…
  • Ignore the offer.
  • Accept the offer by claiming that $p \leq a_i$. If you are right, you earn $|p-a_i|$ robocoins; otherwise you lose $|p-a_i|$ robocoins.
  • Accept the offer by claiming that $p \geq a_i$. If you are right, you earn $|p-a_i|$ robocoins; otherwise you lose $|p-a_i|$ robocoins.
翻译中…

After you decide how to deal with all the offers, the actual Billion Players Game is played. Godflex gets a position $p$ in $[l, r]$, and then all the offers are settled up.

翻译中…

Your total score is the number of robocoins you are guaranteed to earn, that is, the minimum number of robocoins you earn over all possible values of $p$ in $[l, r]$. Find the maximum possible score you can guarantee.

翻译中…

Input

翻译中…

Each test contains multiple test cases. The first line contains the number of test cases $t$ ($1 \le t \le 10^4$). The description of the test cases follows.

翻译中…

The first line of each test case contains three integers $n$, $l$, $r$ ($1 \leq n \leq 2 \cdot 10^5$, $1 \leq l \leq r \leq 10^9$) — the number of offers and the possible range of Godflex's final ranking.

翻译中…

The second line of each test case contains $n$ integers $a_1, a_2, \ldots, a_n$ ($1 \leq a_i \leq 10^9$) — the bookmaker's estimations of Godflex's ranking in each offer.

翻译中…

It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$.

翻译中…

Output

翻译中…

For each test case, output a single line containing an integer: the maximum possible score you can guarantee.

翻译中…

Note

翻译中…

In the first test case, there is only one offer.

翻译中…
  • If you ignore the offer, your score is $0$;
  • if you accept the offer claiming that $p \leq 3$, your score is $-2$ (reached when $p = 5$, which makes you lose $|5-3| = 2$ robocoins);
  • if you accept the offer claiming that $p \geq 3$, your score is $-2$ (reached when $p = 1$, which makes you lose $|1-3| = 2$ robocoins).
翻译中…

So the maximum possible score is $0$.

翻译中…

In the second test case, it is optimal to accept the offers claiming that $p \geq 50$ and $p \leq 200$. Since $p$ must be $100$, you gain $|100-50| + |100-200| = 150$ robocoins.

翻译中…

样例

Input #1
4
1 1 5
3
2 100 100
50 200
5 1 10
5 7 3 9 1
5 6 10
9 3 1 7 5
Output #1
0
150
12
13
InputCopy OutputCopy
题目信息
题号
2157D
时间限制
2 s
内存限制
256 MB
标签
二分
贪心
数学
排序
三分
双指针

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。