AT_abc424_e.[ABC424E] Cut in Half
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个袋子里装有 N 根木棒,每根木棒的长度分别为 A1,A2,…,AN。
你需要重复进行 K 次如下操作:
- 从袋子中取出任意一根最长的木棒,将其等分成两根相等长度的木棒,并将这两根新木棒放回袋中。
经过 K 次操作后,袋子中共有 N+K 根木棒。请你找出其中第 X 长的木棒的长度。
共有 T 组测试数据,请分别回答每组测试数据。
输入格式
输入从标准输入读入,格式如下:
T
testcase1
testcase2
⋮
testcaseT
第 i 组测试数据 testcasei 的格式如下:
N K X
A1 … AN
输出格式
输出共 T 行。第 i 行 (1≤i≤T) 输出第 i 组测试数据的答案。
当且仅当你的输出的绝对误差或相对误差不超过 10−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
在第 1 组测试数据中,初始袋子中有 3 根木棒,长度分别为 20,30,40。操作过程如下:
- 从袋子中取出长度为 40 的木棒,将其分成两根长度为 20 的木棒,并放回袋子中。此时袋子中的木棒长度为 20,20,20,30。
- 从袋子中取出长度为 30 的木棒,将其分成两根长度为 15 的木棒,并放回袋子中。此时袋子中的木棒长度为 15,15,20,20,20。
- 从袋子中取出长度为 20 的木棒,将其分成两根长度为 10 的木棒,并放回袋子中。此时袋子中的木棒长度为 10,10,15,15,20,20。
- 从袋子中取出长度为 20 的木棒,将其分成两根长度为 10 的木棒,并放回袋子中。此时袋子中的木棒长度为 10,10,10,10,15,15,20。
经过操作后,第 5 长的木棒长度为 10。
数据范围
- 1≤T≤105
- 对于每组测试数据:
- 1≤N≤105
- 1≤Ai≤109
- 1≤K≤109
- 1≤X≤N+K
- 所有测试数据中 N 的总和不超过 105。
- 所有输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?