已结束 GESP挑战赛#29

A7294 | 小午的哈希表

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

小午有一个长度为 $n = 2^{20}$ 的数组 $a$ ,最初,所有的元素都为 $-1$ 。

小枫要对这个数组进行 $q$ 次查询,每次查询都会给出 $op$ $(op=1$ 或 $op=2)$ 和 $x$ ,具体如同如下:

+ 若 $op=1$ ,则需要依次进行以下所有操作:
1. 令 $pos=x$ 。
2. 当 $a_{pos\ mod\ n} \neq -1$ 时,让 $pos$ 不断加 $1$ ,直到 $a_{pos\ mod\ n} = -1$ 为止。
3. 将 $a_{pos\ mod\ n}$ 的值设置为 $x$ 。
+ 若 $op=2$ ,则输出当前 $a_{pos\ mod\ n}$ 的值。

这里对于整数 $a,b$ ,$a\ mod\ b$ 表示 $a$ 除以 $b$ 的余数。

输入格式

第一行输入一个整数 $q$ $(1\leq q\leq 2\times 10^5)$ ,表示查询次数。

接下来 $q$ 行,每行两个整数 $op,x$ $(op=1$ 或 $op=2, 0\leq x\leq 10^{18})$ ,含义见题面所述。

输出格式

对于每个 $op=2$ 的查询,依次输出答案,每个答案占一行。

输入输出样例

输入 #1
4
1 1048577
1 1
2 2097153
2 24
输出 #1
1048577
-1
C++ 编辑器
输入
输出