AT_arc191_b.[ARC191B] XOR = MOD

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定正整数 N,KN, K。若正整数 XX 满足以下条件,则称其为与 NN 兼容的数:

  • XX 与 NN 的异或值等于 XX 除以 NN 的余数,即 X⊕N=X mod NX \oplus N = X \bmod N。

请判断是否存在至少 KK 个与 NN 兼容的数。若存在,请输出其中第 KK 小的数。

给定 TT 个测试用例,请分别计算每个用例的答案。

异或的定义:非负整数 A,BA, B 的异或 AXORBA \mathrm{XOR} B 定义如下:

  • AXORBA \mathrm{XOR} B 的二进制表示中第 2k2^k(k≥0k \geq 0)位的值为 11,当且仅当 AA 和 BB 在二进制表示的第 2k2^k 位中有且仅有一个为 11,否则为 00。

例如,3XOR5=63 \mathrm{XOR} 5 = 6(二进制表示为:011XOR101=110011 \mathrm{XOR} 101 = 110)。

输入格式

输入通过标准输入给出,格式如下:

TT
case1\text{case}_1
case2\text{case}_2
⋮\vdots
caseT\text{case}_T

其中,casei\text{case}_i 表示第 ii 个测试用例。每个测试用例的格式为:

NN KK

输出格式

对于每个测试用例,若与 NN 兼容的数至少有 KK 个,则输出第 KK 小的数;否则输出 −1-1。

输入输出样例

  • 输入#1

    4
    2 1
    2 2
    1 7
    20250126 191

    输出#1

    2
    3
    -1
    20381694

说明/提示

约束条件

  • 1≤T≤2×1051 \leq T \leq 2 \times 10^5
  • 1≤N,K≤1091 \leq N, K \leq 10^9
  • 输入均为整数

样例解释 1

以 N=2N = 2 为例:

  • 当 X=1X = 1 时,X⊕N=3X \oplus N = 3,而 X mod N=1X \bmod N = 1,因此 11 不是与 NN 兼容的数。
  • 当 X=2X = 2 时,X⊕N=0X \oplus N = 0,而 X mod N=0X \bmod N = 0,因此 22 是与 NN 兼容的数。
  • 当 X=3X = 3 时,X⊕N=1X \oplus N = 1,而 X mod N=1X \bmod N = 1,因此 33 是与 NN 兼容的数。

综上,与 22 兼容的数中第 11 小的正整数是 22,第 22 小的正整数是 33。因此第一个测试用例的答案为 22,第二个测试用例的答案为 33。

翻译由 DeepSeek R1 完成

输入解题思路,AI测评打分。不知道怎么写?

首页