#117. 蒲公英
蒲公英
在乡下的小路旁种着许多蒲公英,而我们的问题正是与这些蒲公英有关。
为了简化起见,我们把所有的蒲公英看成一个长度为 n 的序列,其中为一个正整数,表示第 i 棵蒲公英的种类编号。
而每次询问一个区间 [l,r] ,你需要回答区间里出现次数最多的是哪种蒲公英,如果有若干种蒲公英出现次数相同,则输出种类编号最小的那个。
输入格式
第一行两个整数n,m,表示有 n 株蒲公英,m 次询问。
接下来一行 n 个空格隔开的整数,表示蒲公英的种类。
再接下来 m 行每行两个整数,我们令上次询问的结果为 x(如果这是第一次询问,则 x=0)。
令l=(+x-1) mod n+1,r=(+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
来源
- 《算法竞赛进阶指南》
- acwing 可能含有视频讲解