Размещено 3 года назад по предмету
Информатика
от aruka2974
Јадача 2. Ну все, я опрыгал:
Персонаж известной компьютерной игры Марио постарел и почти перестал прыгать. Но совсем недавно он увидел спуск из N ступенек, и его накрыло
ностальгией. Марио встал на самую верхнюю ступеньку и решил преодолеть этот спуск при помощи прыжков.
Когда-то Марио знал тысячи различных видов прыжков, но теперь он смог вспомнить только два: короткие и длинные. Короткий прыжок позволяет
спуститься на произвольное число ступенек, не большее X, а длинный на произвольное число, не большее Y (X < П. Но в силу возраста Марио не может
делать два длинных прыжка подряд и вынужден между ними совершать хотя бы один короткий. При этом Марио не хочет слишком уж сильно ухудшить свои
прошлые результаты и поэтому постарается обойтись как можно меньшим числом прыжков.
Помогите Марио посчитать минимальное количество прыжков, требующееся для преодоления всех ступенек.
Входные данные
В первой строке входных данных записано целое число X— максимальная длина короткого прыжка.
Во второй строке записано целое число Y (1 sХ< Y< 1018) — максимальная длина длинного прыжка.
В третьей строке записано целое число (1 << 1018) — количество ступенек в спуске.
Выходные данные
В единственной строке выведите целое число — минимальное число прыжков, необходимое Марио для спуска.
Система оценки
Решения, правильно работающие только для случаев, когда X, Yи не превосходят 105, будут оцениваться в 35 баллов.
Решения, правильно работающие только для случаев, когда X, Yи не превосходят 10°, будут оцениваться в 50 баллов.
Примечание
Обратите внимание, что входные данные, а также ответ могут быть достаточно большими, поэтому следует использовать 64-битный тип данных, например
long long в C/C++, long в Java и C#, int64 в Pascal.