AT_abc334_f.[ABC334F] Christmas Present 2

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个以 xyxy 平面表示的小镇,镇上住着圣诞老人和 NN 个编号为 11 到 NN 的孩子。圣诞老人的家的坐标为 (SX,SY)(S_X, S_Y),第 ii 个孩子的家的坐标为 (Xi,Yi)(X_i, Y_i)。

圣诞老人想要按照编号顺序,依次给 NN 个孩子每人送一个礼物。为了给第 ii 个孩子送礼物,圣诞老人必须在手中至少有一个礼物的情况下前往第 ii 个孩子的家。然而,圣诞老人一次最多只能携带 KK 个礼物,如果需要补充礼物,必须返回自己的家(圣诞老人的家中有足够多的礼物)。

请你求出圣诞老人从自己家出发,给所有 NN 个孩子送完礼物后再回到自己家的最小移动距离。

输入格式

输入以以下格式从标准输入读入。

NN KK SXS_X SYS_Y X1X_1 Y1Y_1 X2X_2 Y2Y_2 ⋮\vdots XNX_N YNY_N

输出格式

输出圣诞老人移动的最小距离。若输出值与真实值的绝对误差或相对误差不超过 10−610^{-6},则视为正确。

输入输出样例

  • 输入#1

    3 2
    1 1
    3 1
    1 2
    3 2

    输出#1

    9.236067977499790
  • 输入#2

    2 1
    0 1
    -1 1
    1 1

    输出#2

    4.000000000000000
  • 输入#3

    8 3
    735867677 193944314
    586260100 -192321079
    95834122 802780784
    418379342 -790013317
    -445130206 189801569
    -354684803 -49687658
    -204491568 -840249197
    853829789 470958158
    -751917965 762048217

    输出#3

    11347715738.116592407226562

说明/提示

限制条件

  • 1≤K≤N≤2×1051 \leq K \leq N \leq 2 \times 10^5
  • −109≤SX,SY,Xi,Yi≤109-10^9 \leq S_X, S_Y, X_i, Y_i \leq 10^9
  • (SX,SY)≠(Xi,Yi)(S_X, S_Y) \neq (X_i, Y_i)
  • (Xi,Yi)≠(Xj,Yj) (i≠j)(X_i, Y_i) \neq (X_j, Y_j)\ (i \neq j)
  • 所有输入均为整数

样例解释 1

在上图中,红色圆点表示圣诞老人的家,带有数字的圆点表示对应编号的孩子的家。考虑圣诞老人按如下方式行动:

  1. 从家中带 22 个礼物出发。
  2. 前往第 11 个孩子家,送出 11 个礼物。
  3. 返回家中补充 11 个礼物。
  4. 前往第 22 个孩子家,送出 11 个礼物。
  5. 前往第 33 个孩子家,送出 11 个礼物。
  6. 返回家中。

此时,圣诞老人移动的总距离为 2+2+1+2+5=7+5=9.236…2+2+1+2+\sqrt{5}=7+\sqrt{5}=9.236\dots,这是最小值。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页