#P1742. hyy有鱼系列(15)

hyy有鱼系列(15)

Description

【背景】
小鱼在电视机面前睡着了
它梦到了一个问题……
不,它梦到你在做这道题。。。
【题意】
输入一个序列a,支持三种操作
1 p:删除a[p],如果a[p]已被删除,不做处理
2 p:在a序列中查询a[p]的前驱(可以等于,可以是自己,只要没被删除就行),输出这个值,如果没有,输出-1
3 p:在a序列中查询a[p]的后继(可以等于,可以是自己,只要没被删除就行),输出这个值,如果没有,输出-1
每次输入进来的p要进行额外的处理(注意p是int类型)
一开始定义一个tmp(int类型),初值为2333
然后把读入进来的p异或上tmp
再使p=(p%n+n)%n+1
你的程序每输出一个-1,就要进行如下操作
tmp^=tmp<<13;
tmp^=tmp>>17;
tmp^=tmp<<5;
tmp=tmp%2333+2333
【输入格式】
第一行两个正整数n,m
第二行n个整数表示序列a
下来m行,每行一个操作,如题意所示
【输出格式】
对于每个询问,输出相应的值,如果没有,输出-1
【输入样例】
5 3
1 2 3 4 5
2 3
1 5
3 5
【输出样例】
5
5
【提示】
1<=n,m<=2e6
1<=p<=n
0<=a[i]<4e9