AT_arc101_b.[ABC107D] Median of Medians
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
长度为 M 的数列 b 的中位数定义如下:
- 将 b 按升序排序得到数列 b′。此时,b′ 的第 M / 2 + 1 个元素的值即为 b 的中位数。这里,/ 表示向下取整的除法。
例如,(10, 30, 20) 的中位数是 20,(10, 30, 20, 40) 的中位数是 30,(10, 10, 10, 20, 30) 的中位数是 10。
すぬけ君想出了如下的问题。
给定一个长度为 N 的数列 a。对于每一组 (l, r)(1≤l≤r≤N),定义 a 的连续子序列 (al, al+1, ..., ar) 的中位数为 ml,r。将所有 (l, r) 对应的 ml,r 按顺序排列,得到新的数列 m。请你求出 m 的中位数。
输入格式
输入以如下格式从标准输入给出。
N a1 a2 ... aN
输出格式
输出 m 的中位数。
输入输出样例
输入#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≤105
- ai 是整数。
- 1≤ai≤109
样例解释 1
a 的每个连续子序列的中位数如下:
- (10) 的中位数是 10
- (30) 的中位数是 30
- (20) 的中位数是 20
- (10, 30) 的中位数是 30
- (30, 20) 的中位数是 30
- (10, 30, 20) 的中位数是 20
因此,m=(10, 30, 20, 30, 30, 20),m 的中位数是 30。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?