pwp 很想摸一摸袁神的尾巴,于是善良的谦神准备帮助他实(霍)现(霍)愿(袁)望(神)。
谦神在市场上发现了各式各样的尾巴——
尾巴的颜色串是一个长度为 n 的数组 a ,代表尾巴可以被分为 n 段,a_i 代表了第 i 段的颜色值 (1\leq i \leq n)。
但是,pwp 希望,最终尾巴的颜色串中,颜色值是递增的(即:对于 i>1, a_i>a_{i-1} )。 很显然,市场上并不总能有尾巴满足 pwp 的需求()
幸运的是,谦神会一种交换两段尾巴颜色值的魔法! 而这个魔法,需要一个启动秘钥——X。
当魔法启动后,对于两个颜色值为 c1 和 c2 的尾巴段,当 c1 \& c2 = X 的时候可以生效。
谦神可以指定任意两个尾巴段执行魔法任意次数。
pwp 不喜欢太小的数,于是谦神希望能够找到一个满足要求的“最大”秘钥 X。
输入
第一行输入一个整数 T (1\leq T \leq 10^4) ,表示测试用例的数量
每一个测试用例输入一个 n (1\leq n \leq 2\cdot 10^5)
接下来一行输入 n 个整数 a_1, a_2 \dots a_n (0 \leq a_i \leq n - 1),保证 a 是一个 0 到 n-1 的排列,并且 \exists i < n 使得 a_i > a_{i+1}
数据保证所有测试用例的 n 之和小于等于 5\cdot 10^5
输出
对于每个测试用例,输出一个整数表示 X
可以证明,对于输入数据,这样一个 X 总是存在。
样例
标准输入 复制文本 |
4 4 0 1 3 2 2 1 0 7 0 1 2 3 5 6 4 5 0 3 2 1 4 |
标准输出 复制文本 |
2 0 4 1 |
提示
按位与(&)是对两个二进制数逐位进行比较,只保留两个数相同位置上都为 1 的位。
结果的每一位都是输入数相应位置上位的逻辑与运算结果。
如 (6)_{10}\ \&\ (3)_{10}\ =\ (2)_{10} ,即 (110)_2\ \&\ (011)_2\ =\ (010)_2
来源
2024 华南师范大学百度杯新生赛 正式赛 Div.2 新生赛道