#P1006. 区间众数

区间众数

题目描述

给你一个长度为 nn 的数列 a1,a2,,ana_1, a_2, \ldots, a_n 以及 qq 次询问。

每次询问给你两个整数 lil_irir_i,你需要回答出下标区间 [li,ri][l_i, r_i] 范围内(即 ali,ali+1,,aria_{l_i}, a_{l_i + 1}, \ldots, a_{r_i})中出现次数最多的那个(或那些)数的出现次数。

输入格式

第一行,两个整数 nnqq,以一个空格分隔(1n105,1q21051 \le n \le 10^5, 1 \le q \le 2 \cdot 10^5)。

第二行,nn 个整数 a1,a2,,an(105ai105)a_1, a_2, \ldots, a_n(-10^5 \le a_i \le 10^5)

接下来 qq 行,每行包含两个整数 lil_irir_i,以一个空格分隔,表示一次询问(1lirin1 \le l_i \le r_i \le n)。

输出格式

对于每次询问的 lil_irir_i,输出一行,包含一个整数,表示下标区间 [li,ri][l_i, r_i] 范围内(即 ali,ali+1,,aria_{l_i}, a_{l_i + 1}, \ldots, a_{r_i})中出现次数最多的那个(或那些)数的出现次数。

样例

9 3
1 1 1 2 2 3 3 4 4
3 8
1 4
5 6
2
3
1