#584. 神奇的二进制运算
神奇的二进制运算
题目背景
小郭终于踏入大学校门,充满期待地开启了计算机知识的奇妙探索之旅。前几天,他坐在计算机引论课堂上,老师生动地讲述了二进制的奥秘。这个新领域激发了小郭浓厚的兴趣,于是他下课后投入了更深入的学习。
今天,小郭的学习进程在探索按位或运算符时受到了一些阻碍,他颇费心思却依然难以理解其精髓。于是,小郭决定主动向老师请教,希望能够厘清心中的迷雾。老师欣然答应,并为了加深小郭对这一概念的理解,提出了一道复杂的问题。
题目描述
给定一个长度为 的数组 。
请从数组 中选出任意个元素,使得所选元素互相 按位或 的值最大。
按位或运算符“ | ”是双目运算符,其功能是参与运算的两数各对应的二进位相比较, 只要对应的2个二进位有一个为1时,结果位就为1。
例:10的二进制为1010, 13的二进制为1101, 10 | 13的二进制结果为1111, 也就是15。
输入格式
第一行包含一个正整数 ,代表数组长度。
第二行包含 个正整数,代表数组中的元素。
输出格式
一个整数,表示按位或最大值。
样例 #1
样例输入 #1
5
6 2 7 5 3
样例输出 #1
7
样例 #2
样例输入 #2
3
8 6 4
样例输出 #2
14
提示
所有答案均不会超出int范围。
统计
相关
在下列比赛中: