Олимпиадный тренинг

Задача . 9. Самый поздний момент раскрытия парашюта


Задача

Темы:

Самый поздний безопасный момент раскрытия парашюта

Что должна делать программа

Для одного и того же прыжка можно выбрать разный момент раскрытия парашюта. Нужно найти самый поздний допустимый момент, при котором скорость при достижении земли не превышает заданного безопасного значения.

Такой подход иллюстрирует подбор параметра с помощью многократного запуска одной и той же модели.

Математическая модель

Для выбранного момента T используются начальные условия

h0 = H,    v0 = 0.

Коэффициент сопротивления:

Cn = C1 при n < T,    Cn = C2 при n ≥ T.

Для каждого шага:

rn = ⌊Cn · vn2 / 10000⌋,

vn+1 = max(0, vn + 10 − rn),

hn+1 = hn − vn+1.

Обозначение. Символ ⌊x⌋ означает целую часть числа x, то есть округление вниз до ближайшего целого.

Для каждого T рассматривается первый момент, когда высота становится неположительной. Полученную на этом шаге скорость обозначим vland(T).

Момент T считается безопасным, если

vland(T) ≤ Vsafe.

Входные данные

В одной строке вводятся пять целых чисел:

H C1 C2 Vsafe Tmax
  • H — начальная высота (не превышает 50000);
  • C1 — коэффициент сопротивления до раскрытия парашюта;
  • C2 — коэффициент сопротивления после раскрытия;
  • Vsafe — максимально допустимая скорость при достижении земли;
  • Tmax — максимальный момент раскрытия, который разрешено рассматривать, 0 ≤ T ≤ Tmax.

Гарантируется, что Tmax ≤ 500.

Выходные данные

Выведите одно целое число — максимальное безопасное значение T.

Если ни один момент от 0 до Tmax включительно не является безопасным, выведите -1.


Примеры
№Входные данныеВыходные данные
1
1200 50 1000 15 50
28
2
5000 30 800 15 100
89
Статистика успешных решений по компиляторам
 Кол-во
Python5
Комментарий учителя