luogu#P9342. [JOISC 2023 Day4] Bitaro's Travel

[JOISC 2023 Day4] Bitaro's Travel

题目描述

There is a very long road in JOI City, which can be considered as the real number line. A position on the road is represented by a real number coordinate. In JOI City, there are NN sightseeing spots along the road, numbered from 11 to NN in ascending order of the coordinates. The coordinate of the ii-th sightseeing spot (1iN)(1\le i\le N) is XiX_i.

Bitaro will visit all the sightseeing spots in JOI City. Since "greedy" is the slogan of his life, he will repeat the following procedures until he visits all the sightseeing spots.

  • Let xx be Bitaro’s current coordinate. Among the sightseeing spots he has not yet visited, take the sightseeing spot ii where the distance xXi|x − X_i| from Bitaro's current position takes a minimum value. Then Bitaro moves to the position of the sightseeing spot ii, and visits it. If there are more than one such sightseeing spots, he moves to the sightseeing spot whose coordinate is smaller than the others. Here, t|t| is the absolute value of tt.

However, thanks to long years of experience, Bitaro knows that if he moves by repeating the above procedures, the total traveling distance may be longer than he expected. Since the total traveling distance varies according to the starting coordinate, he wants to know the total traveling distance until he visits all the sightseeing spots if he starts from each of QQ candidates of starting coordinates S1,S2,,SQS_1, S_2,\dots, S_Q.

To help Bitaro, write a program which calculates the total traveling distance if he starts from each of the candidates of starting coordinates, given information of JOI City and candidates of starting coordinates.

输入格式

Read the following data from the standard input.

NN

X1 X2XNX_1\ X_2\cdots X_N

QQ

S1S_1

S2S_2

\vdots

SQS_Q

输出格式

Write QQ lines to the standard output. The jj-th line (1jQ)(1 \le j \le Q) of output should contain the total traveling distance if Bitaro starts from the coordinate SjS_j.

题目大意

题目描述

在 JOI 市里,有一条长度非常长的路,可以看做一个实数数轴。这条路上有 NN 个景点 1,2,,N1,2,\dots,N,它们按照坐标递增的顺序编号。第 ii 个景点位于坐标为 XiX_i 处。

Bitaro 打算参观 JOI 市的所有景点。因为贪心是他人生的口号,所以他会按以下方式不断前往最近的未参观过的景点,直到参观完毕:

xx 表示 Bitaro 当前所在的位置。从尚未参观过的景点中选取距离 Bitaro 的当前位置最近的景点 ii,使得 xXi|x-X_i| 的值最小。然后将 Bitaro 移动到第 ii 个景点并参观它。如果有多个最近的景点,则移动到它们中编号最小的那个。其中 t|t| 表示 tt 的绝对值。 但是,由于多年的经验,Bitaro 知道如果只按上述方式移动,那么他的总路程可能会比预想的更长。由于总路程和起始坐标有关,他想知道从 QQ 个起始坐标 S1,S2,,SQS_1,S_2,\dots,S_Q 出发,分别需要走多少路程才能参观完所有的景点。

为了帮助 Bitaro,你需要编写一个程序,给出在每个起始坐标处开始前往参观所有景点时所需走的总路程。

输出格式

共输出 QQ 行。对于每一行,输出从该起点开始走过所有景点后的总路程。

Translate by

https://www.luogu.com.cn/user/661274

5
0 5 6 7 9
1
7

15
10
1 2 3 4 5 6 7 8 9 10
10
1
2
3
4
5
6
7
8
9
10

9
10
11
12
13
14
15
16
17
9

提示

【样例解释 #1】

If Bitaro starts from the coordinate 77, he visits all the sightseeing spots as follows.

  1. He has not yet visited the sightseeing spots 1,2,3,4,51, 2, 3, 4, 5, and the distances from Bitaro’s current position are 7,2,1,0,27, 2, 1, 0, 2, respectively. Since the sightseeing spot 44 is the nearest sightseeing spot from Bitaro, he stays at the coordinate 77 and visits the sightseeing spot 44.
  2. He has not yet visited the sightseeing spots 1,2,3,51, 2, 3, 5, and the distances from Bitaro’s current position are 7,2,1,27, 2, 1, 2, respectively. Since the sightseeing spot 33 is the nearest sightseeing spot from Bitaro, he moves from the coordinate 77 to the coordinate 66 and visits the sightseeing spot 33.
  3. He has not yet visited the sightseeing spots 1,2,51, 2, 5, and the distances from Bitaro’s current position are 6,1,36, 1, 3, respectively. Since the sightseeing spot 22 is the nearest sightseeing spot from Bitaro, he moves from the coordinate 66 to the coordinate 55 and visits the sightseeing spot 22.
  4. He has not yet visited the sightseeing spots 1,51, 5, and the distances from Bitaro’s current position are 5,45, 4, respectively. Since the sightseeing spot 55 is the nearest sightseeing spot from Bitaro, he moves from the coordinate 55 to the coordinate 99 and visits the sightseeing spot 55.
  5. He has not yet visited the sightseeing spot 11. Since the sightseeing spot 11 is the nearest sightseeing spot from Bitaro, he moves from the coordinate 99 to the coordinate 00 and visits the sightseeing spot 11.

Since Bitaro’s total traveling distance is 1515, output 1515.

该样例满足所有子任务的限制。

【样例解释 #2】

该样例满足子任务 3,43, 4 的限制。

【数据范围】

对于所有测试数据,满足 1N,Q2×1051\le N,Q\le2\times10^50Xi1090\le X_i\le10^9Xi<Xi+1X_i<X_{i+1}0Sj1090\le S_j\le10^9,保证所有输入均为整数。

子任务编号 分值 限制
11 55 Q=1,N2×103Q=1,N\le2\times10^3
22 1010 Q=1Q=1
33 3030 Xi+1Xi100X_{i+1}-X_i\le100
44 5555