#B1407. 区间 MEX 查询

区间 MEX 查询

【题目描述】

给定一个长度为 nn 的整数序列,第 ii 个数记为 aia_i。

接下来进行 mm 次询问。

第 ii 次询问给定一个区间 [li,ri][l_i,r_i],请输出这个区间内所有数的 MEX。

一个集合的 MEX 指没有在集合中出现过的最小非负整数。


【输入描述】

第一行输入两个整数 n,mn,m,表示序列长度和询问次数。

第二行输入 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

接下来 mm 行,第 ii 行输入两个整数 li,ril_i,r_i,表示一次询问的区间。

保证:

  • 1≤n,m≤30001\le n,m\le 3000;
  • 0≤ai≤n0\le a_i\le n;
  • 1≤li≤ri≤n1\le l_i\le r_i\le n。

【输出描述】

输出 mm 行,第 ii 行表示第 ii 次询问区间的 MEX。


【样例 1】

【样例 1 输入】

5 3
0 1 2 1 0
1 3
2 4
4 5

【样例 1 输出】

3
0
2

【样例 1 解释】

区间 [1,3][1,3] 中出现了 0,1,20,1,2,MEX 为 33;

区间 [2,4][2,4] 中没有 00,MEX 为 00。


【样例 2】

【样例 2 输入】

6 4
1 3 0 2 4 0
1 6
2 5
3 4
6 6

【样例 2 输出】

5
1
1
1