我们称正整数A包含B,当且仅当(A∣B)=A,表示按位或运算,即B中的所有为1的二进制位,在A中都为1。
现在给定n个正整数A;,请你从中选出尽量少的整数,使得所有A,都至少被一个你选出来的整数包含。
显然任何一个数总是包含其自身,即选择全部的数必定为一组合法答案(但不一定是最少的)。
第一行一个正整数n,接下来一行n个整数,第i个整数表示Ai。
0≤Ai<262144,1≤n≤2×105。
一行一个整数,表示至少需要选出几个数字。
输入
5
3 7 6 8 4
输出
2
说明
选择数字7和8,因为7=(111)2,故3=(011)2,4=(100)2,6=(110)2,7=(111)2均被7包含(它们的每一个为1的二进制位,在7中对应的位置上都为1)。而8=(1000)2被8包含。
输入
8
4 12 16 3 11 7 9 8
输出
4
扫码备注加群即可,期待您的到来~
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.