问题 L: 求第 k 小的数

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:81 解决:0

题目描述

输入 $n$($1 \le n < 5000000$ 且 $n$ 为奇数)个数字 $a_i$($1 \le a_i < {10}^9$),输出这些数字的第 $k$ 小的数。最小的数是第 $0$ 小。
请尽量不要使用 `nth_element` 来写本题,因为本题的重点在于练习分治算法。

输入

第一行两个个整数$n$和$k$
第二行$n$个用空格分隔的整数。

输出

一个整数,即第$k$小元素的值

样例输入 复制

5 1
4 3 2 1 5

样例输出 复制

2

提示

90% 数据 $ n <= 10^5$
100% 数据 $ n <= 5 * 10^6$