P15290 [MCO 2023] Two Pointers (easy version)

题目描述

爱丽丝和鲍勃正在一条从 $-10^9$ 延伸至 $10^9$ 的极长道路上参观城市。爱丽丝从点 $A$ 出发,鲍勃从点 $B$ 出发。 共有 $n$ 个城市需要参观,第 $i$ 个城市位于点 $t_i$。每个城市必须被爱丽丝或鲍勃至少参观一次,并且他们可以按 **任意顺序** 参观这些城市。 爱丽丝和鲍勃 **总共** 需要移动的最小距离是多少?

输入格式

每个测试点包含多个测试用例。第一行包含一个整数 $T$ ($1 \le T \le 100$),表示测试用例的数量。每个测试用例格式如下: 第一行包含三个以空格分隔的整数 $n$、$A$ 和 $B$ ($1 \le n \le 2 \cdot 10^5$, $-10^9 \le A, B \le 10^9$)—— 分别表示城市的数量、爱丽丝的起始位置和鲍勃的起始位置。 第二行包含 $n$ 个以空格分隔的整数 $t_1, t_2, \ldots, t_n$ ($-10^9 \le t_i \le 10^9$)—— 各个城市的位置。 保证所有测试用例的 $n$ 之和不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,在单独的一行输出答案。 输出爱丽丝和鲍勃为了参观所有城市必须移动的最小总距离。

说明/提示

#### 注释 :::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/qdzp9788.png) ::: 在第一个测试用例中:共有 $7$ 个城市。爱丽丝从坐标 $-6$ 出发,鲍勃从点 $10$ 出发。 一种参观所有城市的最优方案如下($i \xrightarrow{x} j$ 表示从 $i$ 到 $j$,行驶距离 $x$): - 爱丽丝按顺序参观的城市: $A \xrightarrow{0} \text{城市 }6 \xrightarrow{9} \text{城市 }1$。 - 鲍勃按顺序参观的城市: $B \xrightarrow{1} \text{城市 }5 \xrightarrow{1} \text{城市 }3 \xrightarrow{4} \text{城市 }4 \xrightarrow{8} \text{城市 }7 \xrightarrow{1} \text{城市 }2$。 爱丽丝总共行驶了 $0 + 9 = 9$ 距离,鲍勃总共行驶了 $1 + 1 + 4 + 8 + 1 = 15$ 距离。爱丽丝和鲍勃行驶的总距离为 $9 + 15 = 24$。可以证明不存在总距离小于 $24$ 的方案,因此答案为 $24$。 在第二个测试用例中,爱丽丝和鲍勃都已经位于城市 $2$。鲍勃可以先参观城市 $2$,再参观城市 $1$,总共行驶 $2,000,000,000$ 距离。注意,爱丽丝可以选择什么都不做。 在第三个测试用例中,爱丽丝可以参观唯一的一座城市,从点 $4$ 行驶到点 $1$,距离为 $3$。鲍勃什么都不做。 #### 计分 **子任务 1** ($16$ 分): $n \le 20$, $-10^6 \le A, B, t_i \le 10^6$ **子任务 2** ($36$ 分): $n \le 5000$, $-10^6 \le A, B, t_i \le 10^6$ **子任务 3** ($21$ 分): $n \le 5000$ **子任务 4** ($27$ 分): 无额外限制 翻译由 DeepSeek 完成