#2915. 3920. Yuuna的礼物

3920. Yuuna的礼物

#3920. Yuuna的礼物

题目描述

转眼就要到Karin的生日了!Yuuna她们想为她准备生日礼物!现在有许多礼物被排列成了一个一维序列,每个礼物都有一个价值。Yuuna对这个序列十分感兴趣。因此,你需要多次回答:在某个区间内出现次数第k1少的价值是多少,可能多个不同的价值出现次数均为第k1少,输出其中第k2小的,保证输入合法。注意内存限制。

例如:对于一个区间而言(当然不一定是有序的):

1,2,3,4,5,5,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12

权值 出现次数

1 1 出现次数第1少 第1小

2 1 第2小

3 1 第3小

4 1 第4小

5 2 出现次数第2少 第1小

6 2 第2小

7 4 出现次数第3少 第1小

8 4 第2小

9 4 第3小

10 4 第4小

11 6 出现次数第4少 第1小

12 10 出现次数第5少 第1小

若k1=3,k2=2,代表询问这个区间里出现次数第3少的权值中第2小的,则应该输出8。

若k1=5,k2=1,代表询问这个区间里出现次数第5少的权值中第1小的,则应该输出12。

若k1=1,k2=3,代表询问这个区间里出现次数第1少的权值中第3小的,则应该输出3。

输入格式

第一行包括一个整数n,代表序列的长度。

第二行包括n个整数a1...an,代表该序列。

第三行包括一个整数m,代表询问的次数。

接下来m行,每行包括4个整数l,r,k1,k2,询问al...ar中出现次数第k1少的权值中第k2小的。

输出格式

对于每个询问,仅输出一行,包括一个整数,代表你的回答。

样例

样例输入

【输入样例1】  

10  

3 6 6 8 3 10 1 6 5 6  

10  

4 7 1 2  

5 7 1 1  

5 6 1 2  

2 6 2 1  

8 9 1 1  

6 9 1 2  

1 2 1 1  

1 4 2 1  

5 7 1 3  

2 6 1 3  

  

【输入样例2】  

20  

14 18 19 11 15 13 9 10 5 13 3 14 14 12 12 8 4 17 8 8  

20  

8 9 1 2  

6 19 2 2  

7 11 1 1  

8 12 1 4  

9 13 2 1  

14 15 1 1  

6 11 1 4  

5 7 1 3  

8 18 2 1  

2 4 1 3  

4 16 1 1  

5 14 1 5  

13 14 1 2  

15 15 1 1  

12 17 1 1  

3 12 2 1  

14 17 1 1  

6 13 1 4  

11 11 1 1  

2 4 1 3

样例输出

【输出样例1】  

3  

1  

10  

6  

5  

5  

3  

6  

10  

10  

  

【输出样例2】  

10  

12  

3  

13  

14  

12  

10  

15  

12  

19  

3  

12  

14  

12  

4  

13  

4  

10  

3  

19

数据范围与提示

【数据范围】

1<=n<=40000,

1<=ai<=n (1<=i<=n),

1<=m<=40000,

1<=l<=r<=n,

保证k1,k2合法。