Здравствуй, сообщество Кодефорсес!
Решая задачу с тимуса, я с ужасом осознал, что не умею писать бинарный поиск. Оказывается у меня есть лишь общее представление о нем, вроде такого:
int l = xxx, r = xxx; // здесь инициализация границ
while (xxx) {// пока условие, зависящее от границ
int m = f(l, r); // середина - какая-то функция от левой и правой границ
if (check(m)) // это я знаю!!!
l = f1(m); // мы каким-то образом меняем левую границу
else
r = f2(m); // мы каким-то образом меняем правую границу
}
//здесь вывод/возвращение/использование ответа (тоже непонятного)
Просмотр кодов, получивших АС по бин. поиску, гугла, википедии тоже утешительных результатов не дал — этих неизвестных параметров там такое многообразие, что непонятно что использовать.
В общем, будьте добры, кому не лень, скинуть правильную, рабочую, не зацикливающуюся версию бинарного поиска.
Спасибо за внимание!