QOJ.ac

QOJ

Time Limit: 2 s - 4 s Memory Limit: 1024 MB Total points: 35

#5862. 热狗的复仇

Statistics

去年,几位热狗摊贩沿着一条街道排成一列,他们使用了一种复杂的算法来分散自己的位置。不幸的是,该算法运行非常缓慢,以至于他们至今仍在移动。不过,一切并没有失去希望:热狗摊贩们制定了一个计划,准备尝试一种新的算法!

问题在于,如果多个摊贩彼此靠得太近,他们就会抢走彼此的生意。摊贩们可以以 $1$ 米/秒的速度沿街道移动。为了避免相互干扰,他们希望站位使得任意两个摊贩之间的距离至少为 $D$ 米。

请记住,街道非常长,因此不用担心在任何方向上空间不足的问题。给定所有热狗摊贩的起始位置,你需要找出所有摊贩达到分散状态(每两个摊贩之间的距离至少为 $D$ 米)所需的最短时间。

输入格式

街道上的每个点都用一个数字标记,可以是正数、负数或零。如果 $p$ 为正,则标记为 $p$ 的点位于标记为 $0$ 的点以东 $|p|$ 米处;如果 $p$ 为负,则位于标记为 $0$ 的点以西 $|p|$ 米处。我们将使用此标记系统在输入文件中描述摊贩的位置。

输入文件的第一行包含测试用例的数量 $T$。接下来是 $T$ 个测试用例。每个测试用例的第一行包含起始配置中至少有一个热狗摊贩的点数 $C$ 以及他们希望分散到的最小距离 $D$。接下来的 $C$ 行,每行包含一对以空格分隔的整数 $P$ 和 $V$,表示在标记为 $P$ 的点上有 $V$ 个摊贩。

输出格式

对于每个测试用例,输出一行 "Case #x: y",其中 $x$ 是用例编号(从 $1$ 开始),$y$ 是摊贩在街道上分散开所需的最短时间。相对误差或绝对误差不超过 $10^{-6}$ 的答案将被接受。

样例

输入格式 1

2
3 2
0 1
3 2
6 1
2 2
0 3
1 1

输出格式 1

Case #1: 1.0
Case #2: 2.5

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.