Есть массив a1, a2, ..., an и число x.
За одну операцию можно выбрать произвольный ai и заменить его на ai & x, где & означает побитовое "И" двух чисел.
Ваша цель — добиться того, чтобы в массиве было хотя бы два совпадающих элемента. Определите можно ли этого достичь и, если можно, то какое минимальное количество операций нужно сделать.
Первая строка содержит числа n и x (2 ≤ n ≤ 100 000, 1 ≤ x ≤ 100 000) — число элементов в массиве и число, с которым можно делать побитовое "и".
Вторая строка содержит n чисел ai (1 ≤ ai ≤ 100 000) — элементы массива.
Выведите одно число — минимальное количество операций, которое нужно сделать, или -1, если добиться хотя бы двух совпадающих элементов невозможно.
4 3
1 2 3 7
1
2 228
1 1
0
3 7
1 2 3
-1
В первом примере можно применить операцию к последнему элементу массиву и получить требуемое за один ход.
Во втором примере массив уже содержит два совпадающих элемента.
В третьем примере применение операции никак не меняет массив, а значит получить хотя бы два совпадающих элемента невозможно.
Название |
---|