Бинарный поиск
Следующий фрагмент кода выполняет бинарный поиск целого числа в массиве, который отсортирован в неубывающем порядке:
Перед вызовом BinarySearch, N присвоено некоторое число от 1 до 10000 включительно, а массив A содержит целочисленную неубывающую последовательность.
Известно, что процедура остановится с сообщением "Found item i = XXX in L = XXX comparisons" для некоторых найденных значений i и L.
Напишите программу, которая находит все возможные значения N, ведущих к такому сообщению. Однако количество возможных N может быть велико. Поэтому следует сгруппировать в интервалы последовательные N-ки и вывести только первое и последнее значение каждого интервала.
Входные данные
В одной строке содержится для целых числа i и L (0 ≤ i < 10000, 1 ≤ L ≤ 14).
Выходные данные
В первой строке вывести количество интервалов K всех возможных значений N. В следующих K строках вывести эти интервалы в возрастающем порядке. Каждая строка содержит два числа A_i и B_i (A_i ≤ B_i), задающие начальную и конечную границу интервала.
Если искомых значений N не существует, то вывести одно число 0.