AT_arc191_b [ARC191B] XOR = MOD
题目描述
给定正整数 $N, K$。若正整数 $X$ 满足以下条件,则称其为**与 $N$ 兼容的数**:
- $X$ 与 $N$ 的异或值等于 $X$ 除以 $N$ 的余数,即 $X \oplus N = X \bmod N$。
请判断是否存在至少 $K$ 个与 $N$ 兼容的数。若存在,请输出其中第 $K$ 小的数。
给定 $T$ 个测试用例,请分别计算每个用例的答案。
**异或的定义**:非负整数 $A, B$ 的异或 $A \mathrm{XOR} B$ 定义如下:
- $A \mathrm{XOR} B$ 的二进制表示中第 $2^k$($k \geq 0$)位的值为 $1$,当且仅当 $A$ 和 $B$ 在二进制表示的第 $2^k$ 位中有且仅有一个为 $1$,否则为 $0$。
例如,$3 \mathrm{XOR} 5 = 6$(二进制表示为:$011 \mathrm{XOR} 101 = 110$)。
输入格式
输入通过标准输入给出,格式如下:
> $T$
> $\text{case}_1$
> $\text{case}_2$
> $\vdots$
> $\text{case}_T$
其中,$\text{case}_i$ 表示第 $i$ 个测试用例。每个测试用例的格式为:
> $N$ $K$
输出格式
对于每个测试用例,若与 $N$ 兼容的数至少有 $K$ 个,则输出第 $K$ 小的数;否则输出 $-1$。
说明/提示
### 约束条件
- $1 \leq T \leq 2 \times 10^5$
- $1 \leq N, K \leq 10^9$
- 输入均为整数
### 样例解释 1
以 $N = 2$ 为例:
- 当 $X = 1$ 时,$X \oplus N = 3$,而 $X \bmod N = 1$,因此 $1$ 不是与 $N$ 兼容的数。
- 当 $X = 2$ 时,$X \oplus N = 0$,而 $X \bmod N = 0$,因此 $2$ 是与 $N$ 兼容的数。
- 当 $X = 3$ 时,$X \oplus N = 1$,而 $X \bmod N = 1$,因此 $3$ 是与 $N$ 兼容的数。
综上,与 $2$ 兼容的数中第 $1$ 小的正整数是 $2$,第 $2$ 小的正整数是 $3$。因此第一个测试用例的答案为 $2$,第二个测试用例的答案为 $3$。
翻译由 DeepSeek R1 完成