AT_abc424_e.[ABC424E] Cut in Half

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

有一个袋子里装有 NN 根木棒,每根木棒的长度分别为 A1,A2,…,ANA_1, A_2, \ldots, A_N。

你需要重复进行 KK 次如下操作:

  • 从袋子中取出任意一根最长的木棒,将其等分成两根相等长度的木棒,并将这两根新木棒放回袋中。

经过 KK 次操作后,袋子中共有 N+KN + K 根木棒。请你找出其中第 XX 长的木棒的长度。

共有 TT 组测试数据,请分别回答每组测试数据。

输入格式

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

TT
testcase1\mathrm{testcase}_1
testcase2\mathrm{testcase}_2
⋮\vdots
testcaseT\mathrm{testcase}_T

第 ii 组测试数据 testcasei\mathrm{testcase}_i 的格式如下:

N K XN\ K\ X
A1 … ANA_1\ \ldots\ A_N

输出格式

输出共 TT 行。第 ii 行 (1≤i≤T)(1 \leq i \leq T) 输出第 ii 组测试数据的答案。
当且仅当你的输出的绝对误差或相对误差不超过 10−910^{-9} 时,答案才会被认为是正确的。

输入输出样例

  • 输入#1

    2
    3 4 5
    40 20 30
    10 100 50
    1 2 3 4 5 6 7 8 9 10

    输出#1

    10.00000000000000000000
    0.50000000000000000000

说明/提示

样例解释 1

在第 11 组测试数据中,初始袋子中有 33 根木棒,长度分别为 20,30,4020, 30, 40。操作过程如下:

  • 从袋子中取出长度为 4040 的木棒,将其分成两根长度为 2020 的木棒,并放回袋子中。此时袋子中的木棒长度为 20,20,20,3020, 20, 20, 30。
  • 从袋子中取出长度为 3030 的木棒,将其分成两根长度为 1515 的木棒,并放回袋子中。此时袋子中的木棒长度为 15,15,20,20,2015, 15, 20, 20, 20。
  • 从袋子中取出长度为 2020 的木棒,将其分成两根长度为 1010 的木棒,并放回袋子中。此时袋子中的木棒长度为 10,10,15,15,20,2010, 10, 15, 15, 20, 20。
  • 从袋子中取出长度为 2020 的木棒,将其分成两根长度为 1010 的木棒,并放回袋子中。此时袋子中的木棒长度为 10,10,10,10,15,15,2010, 10, 10, 10, 15, 15, 20。

经过操作后,第 55 长的木棒长度为 1010。

数据范围

  • 1≤T≤1051 \leq T \leq 10^5
  • 对于每组测试数据:
    • 1≤N≤1051 \leq N \leq 10^5
    • 1≤Ai≤1091 \leq A_i \leq 10^9
    • 1≤K≤1091 \leq K \leq 10^9
    • 1≤X≤N+K1 \leq X \leq N + K
  • 所有测试数据中 NN 的总和不超过 10510^5。
  • 所有输入均为整数。

由 ChatGPT 5 翻译

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

首页