#P2064. 蒲公英
蒲公英
蒲公英
(dandelion.pas/c/cpp)
背景
亲爱的哥哥:
你在那个城市里面过得好吗?
我在家里面最近很开心呢。 昨天晚上奶奶给我讲了那个叫 「绝望」 的大坏蛋的故事的说!
它把人们的房子和田地搞坏,还有好多小朋友也被它杀掉了。我觉得把那么可怕的怪物召唤
出来的那个坏蛋也很坏呢。不过奶奶说他是很难受的时候才做出这样的事的……
最近村子里长出了一大片一大片的蒲公英。一刮风,这些蒲公英就能飘到好远的地方了
呢。我觉得要是它们能飘到那个城市里面,让哥哥看看就好了呢!
哥哥你要快点回来哦!
爱你的妹妹 Violet
Azure读完这封信之后微笑了一下。
“蒲公英吗……”
题目描述
在乡下的小路旁种着许多蒲公英,而我们的问题正是与这些蒲公英有关。
为了简化起见,我们把所有的蒲公英看成一个长度为 n的序列 ),,,,( naaaa ,其中
ia为一个正整数,表示第 i棵蒲公英的种类编号。
而每次询问一个区间 ],[ rl ,你需要回答区间里出现次数最多的是哪种蒲公英,如果有
若干种蒲公英出现次数相同,则输出种类编号最小的那个。
注意,你的算法必须是在线的。
输入格式
第一行两个整数 mn, ,表示有 n株蒲公英, m次询问。
接下来一行 n个空格分隔的整数 ia,表示蒲公英的种类
再接下来 m行每行两个整数 rl , ,我们令上次询问的结果为x(如果这是第一次询问,
则 x ) 。
令 1mod)1(,1mod)1( 00 nxrrnxll ,如果 rl ,则交换 rl, 。
最终的询问区间为 ],[ rl 。
输出格式
输出 m行。每行一个整数,表示每次询问的结果。
样例输入
6 3
1 2 3 2 1 2
1 5
3 6
1 5
样例输出
1
2
1
数据范围与约定
对于 20% 的数据,保证 mn, 。
对于 100% 的数据,保证 400001 n , 500001 m , ia 。