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 完成