Скажем, вы подключили допуск = 0. Тогда вы получите экстремальный ответ, например, нулевые листья слева или все оставленные листья (не уверен, как это работает из вашего вопроса). Допустим, вы включили допуск = 196 608. Вы получите ответ на другой крайности. Вы знаете, что ответ, который вы ищете, находится где-то посередине.
Таким образом, вы добавляете номер допуска на полпути между 0 и 196 608: допуск 98 304. Если число оставленных листьев слишком велико, то вы знаете, что правильный допуск находится где-то между 0 и 98,304; если оно слишком низкое, правильный допуск находится где-то между 98 304 и 196 608. (Или, может быть, верхние / нижние части поменялись местами; я не уверен из вашего вопроса.)
Это бинарный поиск. Вы продолжаете сокращать диапазон возможных значений пополам, проверяя одно в середине. В конце концов вы сузите его до правильного допуска. Конечно, вам нужно искать бинарный поиск, чтобы правильно его реализовать.