AT_arc101_b.[ABC107D] Median of Medians

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

长度为 MM 的数列 bb 的中位数定义如下:

  • 将 bb 按升序排序得到数列 b′b'。此时,b′b' 的第 M / 2 + 1M\ /\ 2\ +\ 1 个元素的值即为 bb 的中位数。这里,// 表示向下取整的除法。

例如,(10, 30, 20)(10,\ 30,\ 20) 的中位数是 2020,(10, 30, 20, 40)(10,\ 30,\ 20,\ 40) 的中位数是 3030,(10, 10, 10, 20, 30)(10,\ 10,\ 10,\ 20,\ 30) 的中位数是 1010。

すぬけ君想出了如下的问题。

给定一个长度为 NN 的数列 aa。对于每一组 (l, r)(l,\ r)(1≤l≤r≤N1\leq l\leq r\leq N),定义 aa 的连续子序列 (al, al+1, ..., ar)(a_l,\ a_{l+1},\ ...,\ a_r) 的中位数为 ml,rm_{l,r}。将所有 (l, r)(l,\ r) 对应的 ml,rm_{l,r} 按顺序排列,得到新的数列 mm。请你求出 mm 的中位数。

输入格式

输入以如下格式从标准输入给出。

NN a1a_1 a2a_2 ...... aNa_N

输出格式

输出 mm 的中位数。

输入输出样例

  • 输入#1

    3
    10 30 20

    输出#1

    30
  • 输入#2

    1
    10

    输出#2

    10
  • 输入#3

    10
    5 9 5 9 8 9 3 5 4 3

    输出#3

    8

说明/提示

限制条件

  • 1≤N≤1051\leq N\leq 10^5
  • aia_i 是整数。
  • 1≤ai≤1091\leq a_i\leq 10^9

样例解释 1

aa 的每个连续子序列的中位数如下:

  • (10)(10) 的中位数是 1010
  • (30)(30) 的中位数是 3030
  • (20)(20) 的中位数是 2020
  • (10, 30)(10,\ 30) 的中位数是 3030
  • (30, 20)(30,\ 20) 的中位数是 3030
  • (10, 30, 20)(10,\ 30,\ 20) 的中位数是 2020

因此,m=(10, 30, 20, 30, 30, 20)m=(10,\ 30,\ 20,\ 30,\ 30,\ 20),mm 的中位数是 3030。

由 ChatGPT 4.1 翻译

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

首页