#P13410. [GCJ 2010 Finals] Travel Plan

    ID: 13220 远端评测题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>动态规划 DP2010双指针 two-pointer折半搜索 meet in the middleGoogle Code Jam

[GCJ 2010 Finals] Travel Plan

Description

在南极天文学家尚未公布且正在复查的一项发现中,据说在太空中有 NN 个有人居住的行星,这些行星都位于同一直线上,第 ii 个行星位于该直线上的坐标 XiX_i 处(i=1,2,...,Ni = 1, 2, ..., N)。地球是第一个行星,位于坐标零处,因此 X1X_1 总是等于 00

你对此感到非常兴奋,开始计划一次访问所有行星的旅行。由于未知的行星可能很危险,你希望每个行星只访问一次,然后返回地球。你有 FF 单位的燃料,并希望在这次旅行中尽可能多地消耗燃料,以便最终返回地球时更加安全。你的宇宙飞船非常基础,只能沿直线从任意行星 ii 飞到任意行星 jj,途中会消耗 XiXj|X_i - X_j| 单位的燃料。飞船不能在空中转向,必须降落后才能改变方向。

因此,你需要制定一个旅行计划,要求消耗的燃料不超过 FF 单位,从地球出发,恰好访问每个其他行星一次,然后返回地球。如果存在多种这样的旅行方案,你应当找到消耗燃料最多的那一种。输出消耗的燃料量。

Input Format

输入的第一行为测试用例数 TT。接下来有 TT 组测试数据。每组测试数据的第一行为行星数量 NN。下一行为 NN 个数 XiX_i,表示各行星的坐标。下一行为你拥有的燃料量 FF

Output Format

对于每个测试用例,输出一行。如果不存在这样的旅行方案,输出 "Case #xx: NO SOLUTION";否则输出 "Case #xx: yy",其中 xx 表示测试用例编号(从 11 开始),yy 表示最大消耗的燃料量。

3
3
0 10 -10
40
5
0 1 2 3 4
13
5
0 1 2 3 4
7
Case #1: 40
Case #2: 12
Case #3: NO SOLUTION

Hint

数据范围

  • 1F10171 \leq F \leq 10^{17}
  • 1015Xi1015-10^{15} \leq X_i \leq 10^{15}
  • X1=0X_1 = 0
  • 所有 XiX_i 坐标互不相同。

小数据范围(3 分,测试点 1 - 可见)

  • 1T1001 \leq T \leq 100
  • 2N102 \leq N \leq 10

大数据范围(30 分,测试点 2 - 隐藏)

  • 1T201 \leq T \leq 20
  • 2N302 \leq N \leq 30

由 ChatGPT 4.1 翻译