#P14384. [JOISC 2017] 烟花棒 / Sparklers

    ID: 16155 远端评测题 2000ms 256MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>贪心2017二分Ad-hocJOISC/JOIST(日本)

[JOISC 2017] 烟花棒 / Sparklers

题目描述

JOI 君和他的朋友们将玩仙女棒。总共有 NN 个人,包括 JOI 君和他的朋友们。如果某人点燃一根仙女棒,它会持续燃烧恰好 TT 秒。

一开始,JOI 君和他的朋友们沿着一条从东向西延伸的直线街道分散站立。JOI 君和他的朋友们被编号为 11NN。对于任意 i,ji, j,若 i<ji < j,则第 ii 个人站在第 jj 个人的西侧,或者第 ii 个人与第 jj 个人站在同一位置。第 ii 个人距离最西侧的人(即第 11 个人)的距离为 XiX_i 米。JOI 君是第 KK 个人。

当他们开始玩仙女棒时,他们发现打火机燃料不足,只能点燃一根仙女棒。

因此,他们决定先点燃 JOI 君的仙女棒,然后通过用燃烧的仙女棒接触其他仙女棒来点燃它们。

由于每根仙女棒只能燃烧 TT 秒,JOI 君和他的朋友们必须合作,将火势传递给所有仙女棒。当他们从一根燃烧的仙女棒点燃另一根仙女棒时,必须满足以下条件:

  • 他们必须在点燃仙女棒后的 TT 秒内接触一根燃烧的仙女棒。他们可以在恰好 TT 秒后进行接触。
  • 他们计划点燃的仙女棒此前不能已被点燃。
  • 持有燃烧仙女棒的人与持有未点燃仙女棒的人必须处于同一位置。

我们忽略从一根仙女棒点燃另一根仙女棒所需的等待时间。

由于 JOI 君和他的朋友们一开始是分散站立的,他们必须适当移动以传递火势。他们可以以任意速度向西或向东奔跑。但奔跑过快在玩耍时是危险的。因此,他们将制定规则:他们的速度不得超过每秒 ss 米。这里,ss 是一个非负整数。

他们应如何设定速度上限,才能将火势传递给所有仙女棒?

任务

给定仙女棒燃烧的持续时间以及 JOI 君和他的朋友们的初始位置,编写一个程序,计算最小的整数 ss,使得当速度上限为每秒 ss 米时,他们能够将火势传递给所有仙女棒。

输入格式

从标准输入读取以下数据:

  • 第一行包含三个由空格分隔的整数 NNKKTT。表示共有 NN 个人,JOI 君是第 KK 个人,且一根仙女棒可燃烧 TT 秒。
  • 接下来的 NN 行中,第 ii 行(1iN1 \le i \le N)包含一个整数 XiX_i。表示第 ii 个人在初始时距离最西侧的人为 XiX_i 米。

输出格式

向标准输出写入一行。该行输出包含最小的整数 ss,使得当速度上限为每秒 ss 米时,他们能够将火势传递给所有仙女棒。

3 2 50
0
200
300
2
3 2 10
0
200
300
8
20 6 1
0
2
13
27
35
46
63
74
80
88
100
101
109
110
119
138
139
154
172
192
6

提示

样例 1 解释

在本样例输入中,速度上限可以为每秒 22 米。第一个人向东移动,第二个人向西移动,第三个人向西移动;他们的速度均为每秒 22 米。经过 5050 秒后,第二个人将火传递给第一个人。随后,第一个人向东移动,第三个人向西移动;他们的速度仍为每秒 22 米。再经过 2525 秒后,第一个人将火传递给第三个人。若速度上限为每秒 11 米,则他们无法将火势传递给所有仙女棒。

样例 2 解释

在本样例输入中,速度上限可以为每秒 88 米。第一个人向东移动,第二个人向东移动,第三个人向西移动;他们的速度均为每秒 88 米。经过 33 秒后,第二个人停止移动,而第一和第三个人继续移动。再经过 6.56.5 秒后,第二和第三个人到达同一位置,但他们并未传递火势;第二和第三个人停止移动,第一个人继续移动。再经过 0.50.5 秒后,第二个人将火传递给第三个人;第一个人继续移动,第三个人向西移动,速度为每秒 88 米。再经过 99 秒后,第一和第三个人到达同一位置,第三个人将火传递给第一个人。若速度上限为每秒 77 米,则他们无法将火势传递给所有仙女棒。

数据范围

所有输入数据满足以下条件:

  • 1KN1000001 \le K \le N \le 100\,000
  • 1T10000000001 \le T \le 1\,000\,000\,000
  • 0Xi10000000000 \le X_i \le 1\,000\,000\,0001iN1 \le i \le N)。
  • X1=0X_1 = 0
  • XiXjX_i \le X_j1ijN1 \le i \le j \le N)。

子任务

共有 3 个子任务。每个子任务的得分及附加约束如下:

子任务 1 [30 分]

  • N20N \le 20

子任务 2 [20 分]

  • N1000N \le 1\,000

子任务 3 [50 分]

无额外约束。

翻译由 Qwen3-235B 完成