Сложность: 39%
Девочке Софии очень нравится бинарная запись числа. Однажды вечером она выписывала случайные числа. По счастливой случайности все эти числа были -битными, то есть для любого числа , которое София написала, выполняется . После этого ее заинтересовал вопрос: если она может поменять значение одного бита в одном из чисел на противоположное, то за какое минимальное количество подобных действий она сможет отсортировать свой список по неубыванию?
Входные данные
В первой строке вводится число () — количество наборов входных данных. Для каждого набора входных данных вводятся числа и (, ). В следующих n строках вводятся -битные целые числа , которые написала София (). Числа записаны в двоичной системе счисления (от старших разрядов к младшим) с ровно битами.
Гарантируется, что сумма по всем наборам входных данных не превосходит .
Выходные данные
Для каждого набора входных данных выведите одно число - минимальное количество действий, необходимых для сортировки массива.
Система оценки
В задаче 20 тестов, за каждый из которых вы получите 5 баллов. Решения, работающие корректно при n ⩽ 2, получат не менее 10 баллов.
Решения, работающие корректно при n ⩽ 10, получат не менее 40 баллов.
Решения, работающие корректно при k ⩽ 10, получат не менее 40 баллов.
STDIN | STDOUT |
4 3 3 000 101 010 3 3 000 111 010 3 3 100 111 010 1 1 0 | 1 2 2 0 |
Примечание
В первом наборе данных достаточно изменить первый бит во втором числе. Тогда получится последовательность , что в десятичной системе будет .
Во втором наборе данных можно изменить первые два бита второго числа. Тогда получится последовательность , что в десятичной системе будет .
В третьем наборе данных можно изменить первый и последний бит последнего числа. Тогда получится последовательность , что в десятичной системе будет .
В четвертом примере ничего менять не надо, так как последовательность уже неубывающая.