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

Задача . 10. Максимальная безопасная скорость


Задача

Темы:

Максимальная безопасная скорость

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

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

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

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

Пусть при выбранной начальной скорости V:

x0 = 0,    v0 = V.

Если в начале n-й секунды автомобиль находится на i-м участке дороги, то:

vn+1 = max(0, vn − Ai),

xn+1 = xn + vn+1.

Если автомобиль находится точно на границе двух участков, используется параметр следующего участка.

Скорость V считается безопасной, если автомобиль достигает состояния v = 0 при x < D. Если x ≥ D раньше остановки или на том же шаге, скорость считается небезопасной.

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

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

N D Vmax
  • N — количество участков дороги;
  • D — расстояние до препятствия;
  • Vmax — наибольшая начальная скорость, которую разрешено рассматривать.

В следующих N строках вводятся по два целых числа:

L A
  • L — длина очередного участка дороги;
  • A — величина, на которую скорость уменьшается за одну секунду на этом участке.

Участки идут подряд, их суммарная длина не меньше D.

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

Выведите одно целое число — максимальную безопасную начальную скорость V из диапазона от 1 до Vmax.

Если даже скорость 1 небезопасна, выведите 0.


Примеры
№Входные данныеВыходные данные
1
2 100 60
50 5
50 8
38
2
2 70 50
30 2
40 6
24
Статистика успешных решений по компиляторам
 Кол-во
Python1
Комментарий учителя