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

Задача . 8. Парашютист: один запуск модели


Задача

Темы:

Парашютист: раскрытие парашюта в заданный момент

Что моделирует программа

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

Модель показывает, как изменение параметров системы в определённый момент влияет на дальнейшее движение.

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

Пусть hn — высота, vn — скорость после n секунд. В начальный момент:

h0 = H,    v0 = 0.

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

Cn = C1, если n < T;

Cn = C2, если n ≥ T.

Сопротивление воздуха на n-м шаге:

rn = ⌊Cn · vn2 / 10000⌋.

Следующее состояние:

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

hn+1 = hn − vn+1.

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

Падение заканчивается в первый момент time, когда htime ≤ 0.

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

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

H C1 C2 T
  • H — начальная высота;
  • C1 — коэффициент сопротивления до раскрытия парашюта;
  • C2 — коэффициент сопротивления после раскрытия парашюта;
  • T — момент раскрытия парашюта в секундах; при T = 0 парашют раскрыт с самого начала.

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

Выведите:

time vmax vend
  • time — полное время падения;
  • vmax — максимальная скорость за всё время;
  • vend — скорость на последнем шаге перед завершением моделирования.

Примеры
№Входные данныеВыходные данные
1
1200 50 1000 15
79 45 10
2
5000 30 800 20
371 58 12
Статистика успешных решений по компиляторам
 Кол-во
Python10
Комментарий учителя