Ctrl K

Колонны на финише

Средняя
По прямой дороге к отметке finish едут несколько машин. Машина i стартует с отметки start[i] и едет со скоростью speed[i] (отметок в час). Дорога однополосная: обгонять нельзя. Если машина догнала идущую впереди, дальше они едут вместе со скоростью передней — образуют колонну. Колонной считается и одиночная машина. Если машина догоняет колонну ровно на отметке finish, она тоже входит в эту колонну. Верните, сколько колонн доедет до финиша.
Пример 1
finish=20, start=[2, 14, 10, 0], speed=[3, 1, 4, 2] → 2

Машина с отметки 14 едет 6 часов, с 10 — 2,5 часа и догоняет её ровно на финише. Машина с 2 приехала бы за 6 часов — тоже сливается с ними. Машина с 0 едет 10 часов и финиширует отдельно. Итого 2 колонны.

Пример 2
finish=9, start=[1, 5], speed=[1, 4] → 2

Передняя машина приезжает через 1 час, задняя — через 8. Задняя никого не догоняет: 2 колонны.

Пример 3
finish=50, start=[7], speed=[10] → 1
Ограничения
  • 1 ≤ len(start) = len(speed) ≤ 10⁵
  • 0 < finish ≤ 10⁶
  • 0 ≤ start[i] < finish, все start[i] различны
  • 0 < speed[i] ≤ 10⁶
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПерестроить середину шеренги СредняяБольше всего кусков для сортировки СредняяУступающие герои СредняяВершины на виду СредняяСамый длинный спад от края до края Средняя
загружаем Python…
Вход
finish=20, start=[2, 14, 10, 0], speed=[3, 1, 4, 2]
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 125 тестов на сервере, включая скрытые.