给你一个长度为n的序列a,请求出其中的两个数ai, aj(1≤i≤j≤n),使得ai“与”aj的值最大。 注:“与”表示位运算and,在c++中表示为&。
第一行是一个整数n(1≤n≤3*105)。 第二行是n个整数ai(0≤ai≤109),每两个整数之间有一个空格。
输出一个数,表示最大的ai“与”aj的结果。
3 8 10 2
8
8 & 10 = 8,8 & 2 = 0,10 & 2 = 2。故最终答案为8。
谢谢了您嘞!
建Trie然后一个个插进去就好了