很简单的一道题

用贡献法+贪心

对于每个数从高到低考虑 如果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)