【模板】整数域二分
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}对于给定的长度为 n 的数组 \{a_1,a_2,\dots,a_n\} ,你需要实现:
{\hspace{22.5pt}}_\texttt{1.}\区间元素个数查询:输出数组中大于等于 l 且小于等于 r 的元素个数;
\hspace{15pt}你一共需要处理 q 次操作。

输入描述:

\hspace{15pt}第一行输入两个整数 n,q \left( 1 \leqq n,q \leqq 2 \times 10^5\right) 代表数组中的元素数量、操作次数。
\hspace{15pt}第二行输入 n 个整数 a_1,a_2,\dots,a_n \left( -10^9 \leqq a_i \leqq 10^9 \right) 代表初始数组。
\hspace{15pt}此后 q 行,每行输入两个整数 l, r \left( -10^9 \leqq l, r \leqq 10^9 \right) 代表区间的边界。

输出描述:

\hspace{15pt}对于每一次查询操作,在一行上输出一个整数代表区间中的元素个数。
示例1

输入

复制
7 3
-7 -1 3 6 2 -4 9
0 3
-1 4
-10 10

输出

复制
2
3
7