#P1723. 怪合缝

怪合缝

题目背景

建议先完成 T378243 缝合怪

题目描述

阿辰会给出一个长度为 nn 的数列 aa,并进行以下五种询问:

  • 1 x:查询数列中有多少个数刚好等于 xx
  • 2 x y:查询数列中有多少个数大于等于 xx 并且小于等于 yy
  • 3 x y:查询数列中有多少个数大于等于 xx 并且小于 yy
  • 4 x y:查询数列中有多少个数大于 xx 并且小于等于 yy
  • 5 x y:查询数列中有多少个数大于 xx 并且小于 yy

输入格式

第一行读入两个整数 n,mn,m,表示数列的长度为 nn,一共有 mm 次询问。

第二行读入 nn 个整数表示数列 aa

接下来 mm 行,每行输入 p xp x y,表示一个询问,其中 pp 表示询问类型。

输出格式

对于每次询问输出一行一个整数表示询问的答案。

样例 #1

样例输入 #1

6 6
3 -7 3 6 -2 3
1 3
1 999
2 -2 3
3 -2 3
4 -2 3
5 -2 3

样例输出 #1

3
0
4
1
3
0

样例 #2

样例输入 #2

5 1
0 0 0 50 105
5 100 1

样例输出 #2

0

样例 #3

样例输入 #3

5 1
0 50 50 50 105
5 100 1

样例输出 #3

0

提示

对于 100%100 \% 的数据:1n,m105,1\leqslant n,m \leqslant 10^{5}, 109ai,x,y109-10^9 \leqslant a_i,x,y\leqslant 10^9

测试点 pp 可能的取值
131\sim 3 11
464\sim 6 22
797\sim 9 33
101210\sim 12 44
131513\sim 15 55
162016\sim 20 1,2,3,4,51,2,3,4,5

提示:你可以通过测试点的通过情况来判断是哪一种询问写错了。

建议:可以尝试只用一个查找函数解决所有询问。