在乡下的小路旁种着许多蒲公英,而我们的问题正是与这些蒲公英有关。 为了简化起见,我们把所有的蒲公英看成一个长度为 n 的序列(a1,a2 ,a3,...,an ) ,其中 ai 为一个正整数,表示第i 棵蒲公英的种类编号。 而每次询问一个区间[l,r],你需要回答区间里出现次数最多的是哪种蒲公英,如果有 若干种蒲公英出现次数相同,则输出种类编号最小的那个。 注意,你的算法必须是在线的。
第一行两个整数 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]。
输出 m 行。每行一个整数,表示每次询问的结果
6 3 1 2 3 2 1 2 1 5 3 6 1 5
1 2 1
数据范围与约定 对于 20% 的数据,保证1<= n,m <=3000。 对于 100% 的数据,保证1 <=n <= 40000 ,1 <=m <=50000 ,1<=ai <=10^9 。