题目描述
B3Q决定出一道或运算的题目
或运算的定义
参加运算的两个对象,按二进制位进行“或”运算。
运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1;
即 :参加运算的两个对象只要有一个为1,其值为1。
例如:3|5 即 00000011 | 00000101 = 00000111 因此,3|5的值得7。
现在B3Q给你有n个数的序列arr,有一个操作A:选择一段区间[l,r](0=<l=<r<n),对于所有的 i (0=<i<=r-l),将arr[l+i]替换成 arr[l+i]|arr[r-i]
假设arr = {a1,a2,a3,a4,a5} 选择区间[1,4]进行操作A,有 arr = {a1|a4,a2|a3,a3|a2,a4|a1,a5}
你可以进行A操作无限次,请输出在进行A操作后arr中最大的值
输入
第一行一个数字n
接下来一行n个数字
题目保证
1=<n<=2e5
对于arr中每个数都是大于等于0的整数
且每个数小于等于1e5
提示
可以选择区间[1,3],得到1|2,2|2,2|1,2
即:3,2,3,2 接着进行A操作没有意义