赛事服务器
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:68 测试通过:16
总提交:68 测试通过:16
描述
这日小X来到了青岛奥帆赛场,他惊奇的发现在赛场内有好几块触摸屏,他好奇的按了几下触摸屏,屏幕上出现一行字:“欢迎使用赛事服务器。Welcome to use our servers for match.”然后小X就开心的玩了起来。其中小X对海浪预报这项服务相当感兴趣。这个服务是提供给用动员让其了解一段时间内的海浪情况,他的命令是这样的x y k输入的,这是要询问在时间[x,y]内海浪高度第k小的单位时刻是那个时刻。小X呵呵一笑,他知道学OI的你一定知道如何实现这个服务,他要你编出这个程序,让它在1s内完成服务,他好拿出去和朋友们炫耀!
当然小X会提前告诉你所有时段海浪的高度,这点你放心。至于他是如何得到的,这就不得而知了。
输入
第一行一个数n,表示总时间段。
第二行n个数,一次表示1~n单位时刻海浪的高度。(数据保证各个时刻海浪高度均不相同)
第三行一个数m,表示有m个询问。
接下来m行,每行3个数x y k,表示一个询问。(数据保证k<=y-x+1)
n<=4000 m<=4000
海浪高度取值范围1——100000。
输出
一共m行,是每个询问的回答。
样例输入
5
1 2 3 4 5
3
2 4 2
1 5 1
3 3 1
样例输出
3
1
3
题目来源
Ben
经典归并树+二分查找
说白一点,就是线段树+归并排序+二分查找 + 二分枚举.