CF2119C A Good Problem
题目描述
[Juggernaut. - Lost Dream feat.星名はる](https://www.youtube.com/watch?v=TCckJwjMGcc)
给定四个正整数 $n$、$l$、$r$ 和 $k$,需要找到一个**字典序最小**的长度为 $n$ 的整数数组 $a$,满足以下条件:
- 对于每个 $1 \leq i \leq n$,有 $l \leq a_i \leq r$。
- $a_1 \, \& \, a_2 \, \& \, \ldots \, \& \, a_n = a_1 \oplus a_2 \oplus \ldots \oplus a_n$,其中 $\&$ 表示按位与运算,$\oplus$ 表示按位异或运算。
如果不存在这样的数组,输出 $-1$。否则,由于整个数组可能太大而无法输出,只输出 $a_k$ 。
数组 $a$ 在字典序上小于数组 $b$ 当且仅当以下条件之一成立:
- $a$ 是 $b$ 的前缀,但 $a \ne b$ ;或者
- 在 $a$ 和 $b$ 不同的第一个位置,数组 $a$ 的元素比 $b$ 中的对应元素小。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 $t$($1 \le t \le 10^4$)。每个测试用例包含四个正整数 $n$、$l$、$r$、$k$($1 \le k \le n \le 10^{18}$,$1 \le l \le r \le 10^{18}$)。
输出格式
对于每个测试用例,输出 $a_k$,或输出 $-1$ 如果没有数组满足条件。
说明/提示
- 在第一个测试用例中,数组 $a = [4]$。可以证明没有满足上述要求且字典序更小的数组。
- 在第二个测试用例中,数组 $a = [1, 1, 1]$。可以证明没有满足上述要求且字典序更小的数组。
- 在第三个和第四个测试用例中,数组 $a = [6, 6, 8, 8]$。可以证明没有满足上述要求且字典序更小的数组。
- 在第五个和第六个测试用例中,可以证明没有满足上述要求的数组。