题目描述
维护一个长度为 220 的,下标从 0 到 220−1 的数列 a。初始时,数列中的每一项均为 −1。令 n=220。
给定 q 次操作,每次操作内容如下:
1 x
:将变量 h 的值定为 x。将 h 不断加 1 直到 ahmodn=−1 为止。令 ahmodn 的值为 x。
2 x
:输出 axmodn 的值。
输入格式
第一行输入一个整数 q
接下来 q 行每行两个整数 op,x,其中 op∈(1,2)
输出格式
输出若干行,对于每个询问 2 回答一个答案。
4
1 1048577
1 1
2 2097153
2 3
1048577
-1
提示
- 1≤q≤2×105,0≤xi≤1018;
- 至少存在一个形如
2 x
的操作;
- 输入均为整数。
Sample Explanation 1
我们有 x1modN=1 ,因此第一个查询设置为 A1=1048577 。
在第二个查询中,最初我们有 h=x2 ,其中有 AhmodN=A1=−1 ,因此我们在 h 中添加 1 。现在我们有 AhmodN=A2=−1 ,因此该查询设置了 A2=1 。
在第三个查询中,我们打印 Ax3modN=A1=1048577 。
在第四个查询中,我们打印 Ax4modN=A3=−1 。
请注意,在这个问题中, N=220=1048576 是一个常量,并没有在输入中给出。