考虑贪心,将每个强化石的最大值的二进制位统计一下,即记录二进制每一位在该位置上是1的石头数量。
从大到小考虑位,如果该位置有石头,那肯定至少得用到这个位(不用,后面全部位置加起来也没用了大,比如23>22+21+20)。
当这个位置有两个以上的石头,那后面的位数都可以是1,道理同上。所以能放就放,有多后面就都可以置为1。
小红有一把武器,初始攻击力为0。现在小红面前有n个强化石,都可以用于强化该武器,每个强化石有一个强化上限ai。
具体的,如果小苯便用第i个强化石强化他的武器,那么小苯首先需要选择一个在强化上限以内的非负整数x作为强化系数,假设小苯当前武器攻击力为k,那么会变为k∣x(其中|表示按位或操作)。接着第i个强化石在使用后会失效,即无法再次使用。
小红想知道,这n个强化石最多能使他的武器攻击力强化为多少。
本题包含多组测试数据。
第一行输入一个正整数T(1≤T≤104),表示测试数据组数
接下来,对于每组测试数据,输入包含两行
第一行一个正整数n(1≤n≤2×105),表示可以使用的强化石个数
第二行n的整数ai(0≤ai≤109),表示每个强化石的强化上限。(保证所有测试数据中n的总和不超过2×105)
输出包含T行,表示每组测试数据的答案
对于每组测试数据,输出一行一个整数,表示小红的武器能达到的最大攻击力。
输入
2
5
2 3 3 3 6
3
1 0 0
输出
7
1