#CYF0030. K-th value(series)
K-th value(series)
题目背景
小 C 被一个数列迷住了,他发现这个数列可以分为连续的 段,其中第 段由 个 组成。
题目描述
小 C 在想有没有一种快速求出数列中第 项的方法,于是他开始不断的尝试计算数列中第 项的值,但是计算量挺大的,现在请同学们通过 C++ 来编写程序帮助小 C 完成任务吧。
输入格式
多行输入。
第一行输入两个正整数 和 ;代表数列由 段组成,需要进行 次查询。()
接下来 行输入两个正整数 和 ;代表数列的第 段由 个 组成。(1 <= , <= )
最后输入 个正整数,表示要查询数列中第 项的元素(输入的 可能存在重复)。()
输出格式
输出有一行。
一行输出 个正整数,代表数列的第 个元素。
样例 #1
样例输入 #1
2 3
5 1
3 2
1 4 8
样例输出 #1
1 1 2
样例 #2
样例输入 #2
5 4
1 1
1 2
1 3
1 4
1 5
2 3 4 5
样例输出 #2
2 3 4 5
提示
样例解释】:
对于第一组样例:
数组有 2
个重复段,如下:1 1 1 1 1 2 2 2
进行 3
次查询,数列中第 1
项的值为 1
,第 4
项的值为 1
,第 8
项的值为 2
。
对于第二组样例:
数组有 5
个重复段,如下:1 2 3 4 5
进行 4
次查询,数列中第 2
项的值为 2
,第 3
项的值为 3
,第 4
项的值为 4
,第 5
项的值为 5
。
PS:以上两条样例数据不作为后台测试数据使用。
数据范围】:
对于 的数据:($1 <= N, M <= 10^3,1 <= a_i , p_i <= 10^6,1 <= K_i <= 10^9$)