Задача 6. Светофор
ответОграничение по времени: 0.5 секунд
Студент Павел недавно приобрёл себе подержанный автомобиль и теперь ездит на нём в университет. На его пути в вуз имеется один загруженный перекрёсток, проезд через который регулируется светофором. Сделав ряд поездок, Павел обнаружил интересную закономерность: пока на светофоре горит зелёный свет, через перекрёсток успевает проехать не менее a, но не более b машин.
Сверху над перекрёстком установлена уличная видеокамера. Павел может подключиться к ней со своего смартфона и сосчитать количество машин n, которые стоят перед светофором впереди него (свою машину он тоже считает).
Назовём тактом светофора включение на нём зелёного сигнала. Напишите программу, определяющую минимальный и максимальный номер такта, на котором Павел проедет перекрёсток.
Формат входных данных
В первых двух строках входных данных записаны целые числа a и b (1 ≤ a ≤ b ≤ 109). В третьей строке записано целое число n (1 ≤ n ≤ 109).
Формат выходных данных
Выведите два целых числа — минимальный и максимальный номер такта светофора, на котором Павел проедет перекрёсток.
Система оценки
Решения, правильно работающие при n ≤ 1000, будут оцениваться в 50 баллов.
Пример
| стандартный ввод | стандартный вывод |
|---|---|
| 3 5 10 | 2 4 |
Замечание
В примере из условия перед светофором стоят 10 машин. Если через перекрёсток будут проезжать по 5 машин на зелёный свет, то Павел проедет на втором такте. Если же будут проезжать по 3 машины, то он проедет лишь на четвёртом такте.
Ответ на Задачу 6.
Минимальный номер такта, на котором машина проедет перекрёсток, можно найти как ⌈n / b⌉, то есть частное с округлением вверх. Например, в Python частное с округлением вверх можно вычислить по формуле (n + b − 1) // b. Наибольшее число тактов будет достигаться, когда за один такт через перекрёсток проезжает минимальное число машин, то есть ⌈n / a⌉.
Пример решения на языке Python:
a = int(input()) b = int(input()) n = int(input()) print((n + b - 1) // b) print((n + a - 1) // a)