6724: BZOJ2724:[Violet 6]蒲公英

Memory Limit:512 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:1 Solved:0

Description

在乡下的小路旁种着许多蒲公英,而我们的问题正是与这些蒲公英有关。为了简化起见,我们把所有的蒲公英看成一个长度为n的序列(a1,a2,a3,……,an),其中ai 为一个正整数,表示第i 棵蒲公英的种类编号。而每次询问一个区间[l, r],你需要回答区间里出现次数最多的是哪种蒲公英,如果有若干种蒲公英出现次数相同,则输出种类编号最小的那个。注意,你的算法必须是在线的

Input

第一行两个整数n,m,表示有n株蒲公英,m次询问。 接下来一行n 个空格分隔的整数ai ,表示蒲公英的种类 再接下来m 行每行两个整数l0, r0 ,我们令上次询问的结果为x(如果这是第一次询问, 则x=0)。令l = (l0 + x - 1) mod n + 1, r = (r0 + x - 1) mod n + 1 如果l>r,则交换l,r。最终的询问区间为[l,r]。

Output

输出m 行。每行一个整数,表示每次询问的结果。

Sample Input Copy

6 3
1 2 3 2 1 2
1 5
3 6
1 5

Sample Output Copy

1
2
1

HINT

对于 20% 的数据,保证1<=n,m<=3000 。 对于 100% 的数据,保证1<=n<=40000,1<=m<=50000,1<=ai<=10^9 a 。

加入题单

算法标签: