TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P2863
  • 题目
  • P2863A simple rmq problem
    限制 : 时间限制 : 40000 MS   空间限制 : 1065536 KB
    评测说明 : 4s
    问题描述

    给出一个长度为n的序列,给出M个询问,在[l,r]之间找到一个在这个区间里只出现过一次的数,并且要求找的这个数尽可能大。如果找不到这样的数,则直接输出0。强制在线。

    输入格式

    第一行为两个整数N,M。M是询问数,N是序列的长度(N<=100000,M<=200000)
    第二行为N个整数,描述这个序列{ai},其中所有1<=ai<=N
    再下面M行,每行两个整数x,y,
    询问区间[l,r]由下列规则产生(OIER都知道是怎样的吧>_<):
    l=min((x+lastans)mod n+1,(y+lastans)mod n+1);
    r=max((x+lastans)mod n+1,(y+lastans)mod n+1);
    Lastans表示上一个询问的答案,一开始lastans为0。

    输出格式

    一共M行,每行给出每个询问的答案。

    样例输入

    10 10
    6 4 9 10 9 10 9 4 10 4 
    3 8
    10 1
    3 4
    9 4
    8 1
    7 8
    2 9
    1 1
    7 3
    9 9

    样例输出

    4
    10
    10
    0
    0
    10
    0
    4
    0
    4