CF2119C.A Good Problem
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Juggernaut. - Lost Dream feat.星名はる
给定四个正整数 n、l、r 和 k,需要找到一个字典序最小的长度为 n 的整数数组 a,满足以下条件:
- 对于每个 1≤i≤n,有 l≤ai≤r。
- a1&a2&…&an=a1⊕a2⊕…⊕an,其中 & 表示按位与运算,⊕ 表示按位异或运算。
如果不存在这样的数组,输出 −1。否则,由于整个数组可能太大而无法输出,只输出 ak 。
数组 a 在字典序上小于数组 b 当且仅当以下条件之一成立:
- a 是 b 的前缀,但 a=b ;或者
- 在 a 和 b 不同的第一个位置,数组 a 的元素比 b 中的对应元素小。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。每个测试用例包含四个正整数 n、l、r、k(1≤k≤n≤1018,1≤l≤r≤1018)。
输出格式
对于每个测试用例,输出 ak,或输出 −1 如果没有数组满足条件。
输入输出样例
输入#1
9 1 4 4 1 3 1 3 3 4 6 9 2 4 6 9 3 4 6 7 4 2 5 5 1 2 3 6 2 999999999999999999 1000000000000000000 1000000000000000000 999999999999999999 1000000000000000000 1 999999999999999999 1000000000000000000
输出#1
4 1 6 8 -1 -1 -1 1000000000000000000 2
说明/提示
- 在第一个测试用例中,数组 a=[4]。可以证明没有满足上述要求且字典序更小的数组。
- 在第二个测试用例中,数组 a=[1,1,1]。可以证明没有满足上述要求且字典序更小的数组。
- 在第三个和第四个测试用例中,数组 a=[6,6,8,8]。可以证明没有满足上述要求且字典序更小的数组。
- 在第五个和第六个测试用例中,可以证明没有满足上述要求的数组。
输入解题思路,AI测评打分。不知道怎么写?