Задача сводится к стандартной схеме: за день мартышка поднимается на A метров, за ночь опускается на B метров, высота дерева H метров. Нужно узнать, на какой день она достигнет вершины.
Пошаговое решение (общий случай, без конкретных чисел):
Обозначим:
- A — подъем за день,
- B — спуск за ночь,
- H — высота дерева.
Если A >= H, мартышка достигнет вершины в первый день (день 1), не успев уйти вниз.
Иначе, если A <= B, мартышка никогда не достигнет вершины (за день она не делает достаточного netto-прогресса, а за ночь возвращается как минимум на столько же). В такой ситуации задача неразрешима при заданных условиях.
Иначе (A < H и A > B) решение такое:
- после n−1 полных суток (и n−1 ночей) высота перед утренним подъемом на день n равна (n−1)·(A − B);
- в утренний подъем на день n она прибавляет ещё A, и достигает вершины, если: (n−1)·(A − B) + A ≥ H.
- отсюда минимальное целое n такое, что выполняется выше неравенство: n ≥ ceil((H − A) / (A − B)) + 1.
Итоговая формула:
- Если A ≥ H: день 1.
- Иначе если A ≤ B: невозможно (не достигнет вершину).
- Иначе: день достижения n = ceil((H − A) / (A − B)) + 1.
Проверка на примерe (для наглядности):
- Пусть A = 5 м в день, B = 2 м за ночь, H = 20 м.
- A < H и A > B (5 > 2), поэтому применение формулы: n = ceil((20 − 5) / (5 − 2)) + 1 = ceil(15 / 3) + 1 = 5 + 1 = 6.
- Значит, на 6-й день мартышка достигнет вершины. Проверка: за 5 полных суток совокупный прогресс = 5·5 − 4·2 = 25 − 8 = 17 м; к утру 6-го дня она поднимается на ещё 5 м и достигает 22 м, т.е. вершина достигнута на день 6.
Важно:
- Если вы подставите конкретные числа для A, B и H, могу посчитать точный день и привести пошаговую схему с числами. Просто напишите значения A, B и H.