![]() |
||||||||||
|
||||||||||
OperationTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 5519 Accepted Submission(s): 1686 Problem Description There is an integer sequence $a$ of length $n$ and there are two kinds of operations: Input There are multiple test cases. The first line of input contains an integer $T(T\le 10)$, indicating the number of test cases. For each test case: The first line contains two integers $n, m(1\le n\le 5\times 10^5, 1\le m\le 5\times 10^5)$, the number of integers initially in the sequence and the number of operations. The second line contains $n$ integers $a_1,a_2,...,a_n(0\le a_i< 2^{30})$, denoting the initial sequence. Each of the next $m$ lines contains one of the operations given above. It's guaranteed that $\sum n\le 10^6, \sum m\le 10^6 , 0\le x< 2^{30}$. And operations will be encrypted. You need to decode the operations as follows, where lastans denotes the answer to the last type 0 operation and is initially zero: For every type 0 operation, let l=(l xor lastans)mod n + 1, r=(r xor lastans)mod n + 1, and then swap(l, r) if l>r. For every type 1 operation, let x=x xor lastans. Output For each type 0 operation, please output the maximum xor sum in a single line. Sample Input
Sample Output
Source | ||||||||||
|