P13518 [KOI 2025 #2] 镜子
题目背景
试题来源:。中文翻译做了少量本土化修改。
按照[署名—非商业性使用—相同方式共享 4.0 协议国际版](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh-hans)进行授权。
题目描述
你正在一条数轴上玩游戏。你的角色位于位置 $s$,数轴上放置了 $N$ 个镜子。各个镜子的位置从左到右依次为 $A_1 \le A_2 \le \cdots \le A_N$。同一个位置上可能有多个镜子。
你可以使用镜子来改变角色的位置。使用镜子后,角色的位置会移动到以该镜子为中心的对称点。也就是说,当你的角色位于位置 $a$ 时,如果使用位于位置 $b$ 的镜子,你的角色将移动到位置 $2b - a$。
这 $N$ 个镜子每个都必须且只能使用一次。也就是说,不能忽略任何一个镜子不使用,也不能对同一个镜子使用两次或以上。除了每个镜子都必须且只能使用一次这个条件外,你可以按任意顺序使用这些镜子。
你需要计算并输出在这些条件下,你的角色能到达的位置的最大值。
输入格式
第一行给定镜子的数量 $N$ 和你的初始位置 $s$,以空格分隔。
第二行依次给定各个镜子的位置 $A_1, A_2, \cdots, A_N$,以空格分隔。
输出格式
输出将 $N$ 个镜子每个都使用一次后,角色最终位置的最大值。
注意,答案可能会很大,在某些编程语言中可能需要使用 64 位整型变量 (long long)。
说明/提示
### 样例 1 解释

如果先使用第 1 个镜子 (位置为 -1),再使用第 2 个镜子 (位置为 2),如上图所示,角色的最终位置为 6。反之,如果先使用第 2 个镜子,再使用第 1 个镜子,角色的最终位置为 -6。因此,本例的答案是 6。
### 限制条件
* 所有给定的数都是整数。
* $1 \le N \le 200\,000$
* $-10^9 \le s \le 10^9$
* $-10^9 \le A_1 \le A_2 \le \cdots \le A_N \le 10^9$
### 子任务
1. (7 分) $N \le 2$。
2. (25 分) $N$ 是偶数,且 $A_1 = A_2 = \cdots = A_{N/2} < s < A_{N/2+1} = A_{N/2+2} = \cdots = A_N$。
3. (19 分) $N$ 是偶数,且 $A_{N/2} < s < A_{N/2+1}$。
4. (49 分) 无额外限制条件。