题库练习 Xor Product
← 上一题 下一题 →

A16568 | Xor Product

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

对于非负整数 $x, y$ 和正整数 $k$,定义 $S(x, y, k)$ 为所有 $(x + i) \oplus (y + j)$ 的集合,其中 $0 \le i, j < k$。形式化地:

$$ S(x, y, k) = \{ (x + i) \oplus (y + j) \mid 0 \le i, j < k \} $$

这里 $\oplus$ 表示按位异或运算。

定义 $f(x, k)$ 为对于所有非负整数 $y$(即 $y \ge 0$),集合 $S(x, y, k)$ 的最大可能大小。

给定整数 $x$ 和 $k$,计算 $f(x, k)$。

输入格式

本题包含多组测试用例。第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例数量。

接下来的 $t$ 行,每行包含两个整数 $x$ 和 $k$($1 \le x, k \le 10^{17}$)。

输出格式

对于每个测试用例,输出一个整数,即 $f(x, k)$ 的值。

输入输出样例

输入 #1
6
67 1
7 3
100 12
1 1043
1526 1043
88946092640567295 100000000000000000
输出 #1
1
7
32
3128
4167
398158383604301822
C++ 编辑器
输入
输出