AT_abc444_f.[ABC444F] Half and Median

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

有 NN 根木棒,第 ii 根木棒的长度为 AiA_i。
你将进行 MM 次如下操作:

  • 选择一根长度至少为 22 的木棒,设其长度为 ll,将该木棒分成两根长度分别为 ⌊l2⌋\left\lfloor\frac{l}{2}\right\rfloor 和 ⌈l2⌉\left\lceil\frac{l}{2}\right\rceil 的木棒。

根据约束条件,可以证明一定能够进行 MM 次操作。
经过 MM 次操作后,将剩下 N+MN+M 根木棒。请你求出这些木棒长度可能的最大中位数。

本题包含 TT 组测试数据。

什么是中位数?当有 NN 个数时,N+1N+1 个数的中位数为将它们按照升序排序后的第 1+N21+\frac{N}{2} 个数。
例如,(1,3,4,5,8)(1,3,4,5,8) 的中位数为 44,而 (2,2,2)(2,2,2) 的中位数为 22。
注意,在本题中,按照约束条件,需要计算中位数的木棒数量总是奇数。

输入格式

输入由标准输入给出,格式如下:

TT
case1case_1
case2case_2
⋮\vdots
caseTcase_T

每个测试用例如下格式:

N M A1 A2 … ANN\ M\ A_1\ A_2\ \ldots\ A_N

输出格式

输出共 TT 行。第 tt 行输出第 tt 个测试用例的答案。

输入输出样例

  • 输入#1

    3
    5 2
    14 2 5 19 1
    10 1
    10 6 7 6 2 20 9 16 3 3
    4 1
    444 444 44 444

    输出#1

    7
    7
    444

说明/提示

样例解释 1

在第一个测试用例中,如果你在第一次操作选择长度为 1414 的木棒,将其分成两根长度都是 77 的木棒,此时你拥有长度为 7,7,2,5,19,17,7,2,5,19,1 的六根木棒。接下来再选择长度为 1919 的木棒,将其分成两根长度分别为 9,109,10 的木棒,此时你拥有长度为 7,7,2,5,9,10,17,7,2,5,9,10,1 的七根木棒。在这种情况下,这些木棒长度的中位数为 77。

数据范围

  • 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≤M≤∑i=1NAi−N1 \leq M \leq \sum_{i=1}^N A_i - N
  • N+MN+M 是奇数
  • 所有输入均为整数。
  • 所有测试用例中 NN 的总和不超过 10510^5。

由 ChatGPT 5 翻译

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

首页