1999:第K近的点
文件提交:无需freopen
内存限制:128 MB
时间限制:1.000 S
评测方式:普通裁判
命题人:
提交:3
解决:2
题目描述
现给定一维坐标上的 $n$ 个点,有 $q$ 次询问,每次询问距离一个点的第 $k$ 近的点是哪个点?
输入
第一行输入两个整数 $n,q$
第二行输入一个长度为 $n$ 的序列,序列第 $i$ 个数值表示第 $i$ 个点的坐标。
接下来 $q$ 行,每行输入两个整数 $i$ 和 $k$,表示每次询问的是距离第 $i$ 个点的第 $k$ 近的点的坐标
$1\le n\le 10^5, 1\le q\le 2\times 10^4$, $k$ 的值在 $1$ 到 $n-1$ 之间,坐标在 $int$ 范围内。
输出
输出 $q$ 行,每行输出距离其询问点的第 $k$ 近的点是,如果有多个,输出坐标最小的那个点的编号
样例输入-1 复制
5 3
959970966 741044553 438114475 568095369 342064541
4 1
1 2
1 3
样例输出-1 复制
3
4
3
提示
样例解释1:序列的点坐标顺序排序依次是:$5,3,4,2,1$
第一次询问距离第 $4$ 个点第 $1$ 近的点,显然第 $4$ 个点距离第 $3$ 个点比距离第 $2$ 个点更近,因此输出 $3$