很简单的一道题
用贡献法+贪心
对于每个数从高到低考虑 如果ans中这个位为0并且num值大于这个位转换成10进制 答案中加上
import sys
input=sys.stdin.readline
input()
nums=list(map(int,input().split()))
ans=0
for num in nums:
for i in range(num.bit_length()-1,-1,-1):
mask=(1<<i)
if not ans&mask and num>=mask:
ans|=mask
num-=mask
print(ans)

京公网安备 11010502036488号