1) Проверим: можем ли мы купить K билетов по цене B+1 (K * (B+1) <= X)?
Если да, то выводим X/K и прекращаем работу программы.
2) Можем ли мы купить K билетов по цене A (K * A * (1+C/100) <= X)?
Если нет, то выводим min(K/X, A-1) и прекращаем работу программы.
3) Если до сих пор так ни чего и не вывели, то используя бинарный поиск по ответу на отрезке [A; B]
находим максимальное значение M такое что (K * M * (1+C/100) <= X).