#P13369. [GCJ 2011 #1B] Revenge of the Hot Dogs

    ID: 13180 远端评测题 3000~6000ms 1024MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>数学贪心2011二分Special JudgeGoogle Code Jam

[GCJ 2011 #1B] Revenge of the Hot Dogs

Description

去年,有几位热狗摊贩沿着一条街道排成一列,他们采用了一种复杂的算法来分散自己。不幸的是,这个算法非常慢,他们至今还没有分散好。不过,一切还没有结束!热狗摊贩们有了一个新计划:是时候尝试一种新算法了!

问题在于,多个摊贩可能站得太近,这样他们就会互相抢生意。摊贩们可以以每秒 11 米的速度沿街道移动。为了避免互相干扰,他们希望每对摊贩之间的距离至少为 DD 米。

请注意,这条街道非常长,所以无论往哪个方向移动都不会遇到空间不足的问题。给定所有热狗摊贩的初始位置,请你计算出所有摊贩分散开(任意两名摊贩之间的距离至少为 DD 米)所需的最短时间。

Input Format

街道上的每个点都用一个数字标记,可能为正、负或零。标记为 pp 的点,若 pp 为正,则在标记为 00 的点以东 p|p| 米处;若 pp 为负,则在标记为 00 的点以西 p|p| 米处。我们将使用这种标记方式来描述输入文件中摊贩的位置。

输入文件的第一行包含测试用例数 TT。接下来有 TT 组测试数据。每组测试数据的第一行包含两个整数 CCDD,分别表示初始时有摊贩的点的数量,以及他们希望分散到的最小距离。接下来的 CC 行,每行包含两个用空格分隔的整数 PPVV,表示在标记为 PP 的点上有 VV 个摊贩。

Output Format

对于每组测试数据,输出一行,格式为 “Case #xx: yy”,其中 xx 是测试用例编号(从 1 开始),yy 是所有摊贩分散开所需的最短时间。只要你的答案的相对或绝对误差不超过 10610^{-6},即可被接受。

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

Hint

数据范围

  • 1T501 \leq T \leq 50
  • 所有 PP 的取值范围为 [105,105][-10^5, 10^5]
  • 每组测试数据中所有 PP 互不相同,且按递增顺序给出。每组测试数据中所有 VV 的和见下文。所有 VV 都是正整数。

小数据集(15 分,测试集 1 - 可见)

  • 1D51 \leq D \leq 5
  • 1C201 \leq C \leq 20
  • 每组测试数据中所有 VV 的和不超过 100100
  • 时间限制:3 秒

大数据集(20 分,测试集 2 - 隐藏)

  • 1D1061 \leq D \leq 10^6
  • 1C2001 \leq C \leq 200
  • 每组测试数据中所有 VV 的和不超过 10610^6
  • 时间限制:6 秒

由 ChatGPT 4.1 翻译