题库练习 And
← 上一题 下一题 →

A11901 | And

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

There is an array with $n$ elements $a_{1},a_{2},...,a_{n}$ and the number $x$ .

In one operation you can select some $i$ ( $1<=i<=n$ ) and replace element $a_{i}$ with $a_{i}&x$ , where $&$ denotes the [bitwise and](https://en.wikipedia.org/wiki/Bitwise_operation#AND) operation.

You want the array to have at least two equal elements after applying some operations (possibly, none). In other words, there should be at least two distinct indices $i≠j$ such that $a_{i}=a_{j}$ . Determine whether it is possible to achieve and, if possible, the minimal number of operations to apply.

输入格式

The first line contains integers $n$ and $x$ ( $2<=n<=100000$ , $1<=x<=100000$ ), number of elements in the array and the number to and with.

The second line contains $n$ integers $a_{i}$ ( $1<=a_{i}<=100000$ ), the elements of the array.

输出格式

Print a single integer denoting the minimal number of operations to do, or -1, if it is impossible.

输入输出样例

输入 #1
4 3
1 2 3 7
输出 #1
1
输入 #2
2 228
1 1
输出 #2
0
输入 #3
3 7
1 2 3
输出 #3
-1
C++ 编辑器
输入
输出