A106403.小午的哈希表

普及-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

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

小枫要对这个数组进行 qq 次查询,每次查询都会给出 opop (op=1(op=1op=2)op=2)xx ,具体如同如下:

  • op=1op=1 ,则需要依次进行以下所有操作:
    1. pos=xpos=x
    2. apos mod n1a_{pos\ mod\ n} \neq -1 时,让 pospos 不断加 11 ,直到 apos mod n=1a_{pos\ mod\ n} = -1 为止。
    3. apos mod na_{pos\ mod\ n} 的值设置为 xx
  • op=2op=2 ,则输出当前 apos mod na_{pos\ mod\ n} 的值。

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

输入格式

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

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

输出格式

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

输入输出样例

  • 输入#1

    4
    1 1048577
    1 1
    2 2097153
    2 24

    输出#1

    1048577
    -1
首页