小慕在整理项目数据时遇到了一个棘手的问题:他需要从一组混乱的数值序列中提取出关键参数。为此,他必须先对序列进行,但在那之前,他要用一个被称为“中位基准值”的数值来修正偏差。根据项目组的经验,最合适的“中位基准值”是取自该数值序列按升序排列后前三分之一元素的。 “中位基准值”的定义如下: - 若元素个数为奇数,则取中间那个数; - 若为偶数,则取中间两个数的平均值,。 此外,在取前三分之一的数字时,如果不能整除,则向上取整(例如:5 的三分之一向上取整为 2)。 请你帮助小慕完成这一数据处理的关键步骤。
提示:带虚线的词点一下有通俗解释。
输入描述
第一行输入一个正整数 `count`,表示魔法能量序列中的元素个数,满足 `1 <= count <= 10000`。 第二行输入 `count` 个非负整数,表示魔法能量序列 `arr`,其中 `0 <= arr[i] <= 100000`。
输出描述
输出一个整数,表示提取出的“中位秘钥”。
示例
示例 1
输入
10 2 3 1 6 1 10 2 5 9 8
输出
2
说明:- 按升序排列为:`[1, 1, 2, 2, 3, 5, 6, 8, 9, 10]` - 前三分之一个数为 `ceil(10/3) = 4`,即 `[1, 1, 2, 2]` - 中位数为 `(1 + 2) // 2 = 1.5` 向上取整为 `2`
时间限制 1000 ms · 内存限制 128 MB