#aBC291G. [ABC291G] OR Sum
[ABC291G] OR Sum
AT_abc291_g [ABC291G] OR Sum
题目描述
给定长度为 的数列 和 。
此外,高桥君可以对数列 任意次(可以为 次)进行如下操作:
- 将 向左循环移动一位,即用 定义的新数列 替换 。其中, 表示 除以 的余数。
高桥君的目标是最大化 。其中, 表示 和 的按位或(bitwise OR)运算。
请你求出 的最大可能值。
按位或(bitwise OR)是对每一位的 或 进行如下表所示的运算:
| | | | |-----|-----|-------| | 0 | 0 | 0 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 1 |
按位或的结果是:只要 或 的某一位至少有一个为 ,结果的该位就是 ;只有两位都为 时结果才为 。
具体例子
0110 | 0101 = 0111
输入格式
输入以如下格式从标准输入给出。
输出格式
输出 的最大可能值。
输入输出样例 #1
输入 #1
3
0 1 3
0 2 3
输出 #1
8
输入输出样例 #2
输入 #2
5
1 6 1 4 3
0 6 4 0 1
输出 #2
23
说明/提示
限制条件
- 输入均为整数
样例解释 1
当高桥君一次操作都不进行时, 仍为 ,此时 $\displaystyle\sum_{i=0}^{N-1}(A_i|B_i) = (0|0) + (1|2) + (3|3) = 0 + 3 + 3 = 6$。
当高桥君进行 次操作时,,此时 $\displaystyle\sum_{i=0}^{N-1}(A_i|B_i) = (1|0)+(3|2)+(0|3)=1+3+3=7$。
当高桥君进行 次操作时,,此时 $\displaystyle\sum_{i=0}^{N-1}(A_i|B_i) = (3|0)+(0|2)+(1|3)=3+2+3=8$。
进行 次及以上操作时, 会回到上述某种状态,因此 的最大值为 ,输出 。
样例解释 2
最大值出现在高桥君进行 次操作时,此时 ,$\displaystyle\sum_{i=0}^{N-1}(A_i|B_i) = (4|0)+(3|6)+(1|4)+(6|0)+(1|1)=4+7+5+6+1=23$。
由 ChatGPT 4.1 翻译