比赛场次 650
比赛名称 2024.12.21
比赛状态 已结束比赛成绩
开始时间 2024-12-21 14:00:00
结束时间 2024-12-21 18:00:00
开放分组 全部用户
注释介绍
题目名称 Activating Robots
输入输出 activating_robots.in/out
时间限制 2000 ms (2 s)
内存限制 256 MiB
测试点数 24 简单对比
用户 结果 时间 内存 得分
Gravatar健康铀 AAAAAAAAAAAAAAAAAAAA
AAAA
7.963 s 182.08 MiB 100

Activating Robots

★★★☆   输入文件:activating_robots.in   输出文件:activating_robots.out   简单对比
时间限制:2 s   内存限制:256 MiB

【题目描述】

你和一个机器人初始时位于周长为 $L$($1\le L\le 10^9$)的圆上的点 $0$ 处。你可以以每秒 $1$

单位的速度沿圆周顺时针或逆时针移动。本题中的所有移动都是连续的。


你的目标是放置恰好 $R-1$ 个机器人,使得最终每两个相邻的机器人彼此相距 $L/R$($2\le R\le 20$,$R$ 整除 $L$)。有 $N$($1\le N\le 10^5$)个激活点,其中第 $i$ 个激活点位于距点 $0$ 逆时针方向 $a_i$ 距离处($0\le a_i<L$)处。如果你当前位于一个激活点,你可以立刻在该点放置一个机器人。所有机器人(包括初始的)均以每 $K$ 秒 $1$ 单位的速度逆时针移动($1\le K\le 10^6$)。


计算达到目标所需要的最小时间。

【输入格式】

输入的第一行包含 $L$,$R$,$N$ 和 $K$。


第二行包含 $N$ 个空格分隔的整数 $a_1,a_2,\ldots,a_N$。

【输出格式】

输出达到目标所需要的最小时间。

【样例输入1】

10 2 1 2
6

【样例输出1】

22

【样例输入2】

10 2 1 2
7

【样例输出2】

4

【样例1/2说明】

样例解释 1

我们可以通过顺时针移动在 $4$ 秒内到达点 $6$ 的激活点。此时,初始的机器人将位于点 $2$。再等待 $18$ 秒直到初始机器人位于点 $1$。现在我们可以放置一个机器人以立即获胜。


样例解释 2

我们可以通过顺时针移动在 $3$ 秒内到达点 $7$ 的激活点。此时,初始的机器人将位于点 $1.5$。再等待一秒直到初始机器人位于点 $2$。现在我们可以放置一个机器人以立即获胜。

【样例输入3】

32 4 5 2
0 23 12 5 11

【样例输出3】

48

【样例输入4】

24 3 1 2
16

【样例输出4】

48

【数据规模与约定】


- 测试点 $5-6$:$R=2$。

- 测试点 $7-12$:$R\le 10,N\le 80$。

- 测试点 $13-20$:$R\le 16$。

- 测试点 $21-24$:没有额外限制。