#P3730. 曼哈顿交易

    ID: 2663 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>块状链表块状数组分块莫队洛谷原创

曼哈顿交易

题目背景

will 在曼哈顿开了一家交易所,每天,前来买卖股票的人络绎不绝。

现在,will 想要了解持股的情况。由于来交♂易的人实在是太多了,需要你写一个程序来帮他完成这个任务。

题目描述

  • 前来交易的 NN 个人排成了一行,为了简便起见,每个人都只持有一种股票。
  • 不同的的人可能会持有相同的股票。
  • 定义一种股票的热度为持有该股票的人数。
  • 每次,will 会给出这样的询问:在一段连续区间的人之中,热度第 kk 小的股票的热度是多少?

输入格式

  • 第一行两个正整数 N,MN,M,分别表示人数和询问的次数。
  • 接下来一行 NN 个正整数,表示每个人所持的股票 aia_i
  • 接下来 MM 行,每行三个正整数 l,r,kl,r,k,表示询问区间 [l,r][l, r] 中的第 kk 小的热度,保证 lrl\leq r

输出格式

  • 对于每个询问,输出一行一个数,表示区间 [l,r][l, r] 中的第 kk 小的热度值。
  • 如果 kk 大于区间里股票的种类数,输出 1-1
4 4  
2 3 3 3  
1 4 1  
1 4 2  
1 3 2
1 3 3
1  
3  
2  
-1

提示

对于 20%20\% 的数据,N,M1000N,M\leq 1000

对于另外 10%10\% 的数据,所有的 l=1,r=Nl=1, r=N

对于 100%100\% 的数据,1N,M1051\leq N, M\leq 10^51ai1091\leq a_i\leq 10^9