AT_awtf2024_a.Moving Slimes

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

在数轴上有 NN 只史莱姆,第 ii 只史莱姆位于坐标 AiA_i。这些坐标互不相同。每只史莱姆的质量为 11。另外,给定一个整数 KK。

你需要首先选择 KK 只史莱姆,并将未被选中的史莱姆从数轴上移除。之后,被选中的史莱姆从时刻 00 开始按照以下规则移动:

  • 每只史莱姆的移动方式如下:设自己右侧(坐标更大)所有史莱姆的质量总和为 RR,左侧(坐标更小)所有史莱姆的质量总和为 LL。则该史莱姆以速度 R−LR-L 移动。注意速度可以为负,即当 R−L<0R-L<0 时,史莱姆向数轴负方向移动。

当有两只及以上的史莱姆同时到达同一坐标时,它们会合体。合体后的史莱姆质量为合体前所有史莱姆质量之和。合体后的史莱姆也按照上述规则继续移动。

KK 只史莱姆会不断合体,最终只剩下一只史莱姆。该史莱姆诞生的瞬间记为时刻 tt。你的目标是,合理选择 KK 只史莱姆,使得 tt 最大。请输出 tt 的最大值。

输入格式

输入以如下格式从标准输入读入:

NN KK A1A_1 A2A_2 ⋯\cdots ANA_N

输出格式

请输出一个实数作为答案。如果你的答案与标准答案的绝对误差或相对误差不超过 10−910^{-9},则视为正确。

输入输出样例

  • 输入#1

    3 2
    0 1 2

    输出#1

    1.00000000000000000000
  • 输入#2

    4 3
    0 1 4 9

    输出#2

    2.83333333333333333333
  • 输入#3

    4 4
    0 1 2 3

    输出#3

    0.50000000000000000000
  • 输入#4

    20 6
    0 3441380 120768398 229897071 231209282 232046760 254924545 325399248 385631087 400098966 480503302 501372095 502644652 524585010 541761042 691400171 725009462 767549897 837806226 927396743

    输出#4

    135453315.33333333333333333333

说明/提示

限制条件

  • 2≤K≤N≤2500002 \leq K \leq N \leq 250000
  • 0=A1<A2<⋯<AN≤1090 = A_1 < A_2 < \cdots < A_N \leq 10^9
  • 所有输入值均为整数

样例解释 1

  • 选择第 11 和第 22 只史莱姆时,t=0.5t=0.5。
  • 选择第 11 和第 33 只史莱姆时,t=1t=1。
  • 选择第 22 和第 33 只史莱姆时,t=0.5t=0.5。
    因此答案为 11。

样例解释 2

当选择第 1,2,41,2,4 只史莱姆时,史莱姆的移动过程如下:

  • 将第 1,2,41,2,4 只史莱姆分别记为 X,Y,ZX,Y,Z。
  • 时刻 00:X,Y,ZX,Y,Z 分别以速度 +2,0,−2+2,0,-2 开始移动。
  • 时刻 1/21/2:XX 和 YY 在坐标 11 处合体,合体后的史莱姆记为 XYXY,XYXY 以速度 11 继续移动,ZZ 此时在坐标 88,速度仍为 −2-2。
  • 时刻 17/617/6:XYXY 和 ZZ 在坐标 10/310/3 处合体。
    因此 t=17/6t=17/6。无法使 tt 更大,所以答案为 17/617/6。

由 ChatGPT 4.1 翻译

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

首页