#aBC197C. [ABC197C] ORXOR
[ABC197C] ORXOR
AT_abc197_c [ABC197C] ORXOR
题目描述
给定一个长度为 的数列 。
请将该数列划分为 个或多个非空的连续区间。
然后,对每个区间内的数进行按位 运算。
请你求出所有可能的划分方式中,得到的所有区间的按位 结果再进行按位 运算后所得的最小值。
按位 运算定义如下:
对于整数 ,其按位 运算 定义为:
- 的二进制表示中,第 位()的数,如果 或 的该位至少有一个为 ,则为 ,否则为 。
例如,(二进制表示为:)。
一般地, 个整数 的按位 运算定义为 $((\dots((p_1\ \mathrm{OR}\ p_2)\ \mathrm{OR}\ p_3)\ \mathrm{OR}\dots)\mathrm{OR}\ p_k)$,并且可以证明与顺序无关。
按位 运算定义如下:
对于整数 ,其按位 运算 定义为:
- 的二进制表示中,第 位()的数,如果 和 的该位恰好有一个为 ,则为 ,否则为 。
例如,(二进制表示为:)。
一般地, 个或更多整数 的按位 运算定义为 $((\dots((p_1\ \mathrm{XOR}\ p_2)\ \mathrm{XOR}\ p_3)\ \mathrm{XOR}\dots)\mathrm{XOR}\ p_k)$,并且可以证明与顺序无关。
输入格式
输入以以下格式从标准输入读入。
输出格式
请输出答案。
输入输出样例 #1
输入 #1
3
1 5 7
输出 #1
2
输入输出样例 #2
输入 #2
3
10 10 10
输出 #2
0
输入输出样例 #3
输入 #3
4
1 3 3 1
输出 #3
0
说明/提示
数据范围
- 输入中的所有值均为整数。
样例解释 1
将 分成 和 两个区间时,各区间内数的按位 分别为 ,它们的 为 。无法得到更小的值,因此输出 。
样例解释 2
可以分成 和 。
样例解释 3
可以分成 和 。
由 ChatGPT 4.1 翻译