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