Ctrl K

Больше заказов к сроку

Сложная
Фрилансеру предлагают заказы. Заказ orders[i] = [days, deadline] требует days дней непрерывной работы и должен быть сдан не позже конца дня deadline. Работа начинается в день 1, одновременно можно вести только один заказ, начатый заказ доводится до конца без перерывов. Заказы можно брать в любом порядке, от любых можно отказаться. Верните наибольшее число заказов, которые фрилансер успеет сдать в срок.
Пример 1
orders=[[3, 5], [4, 6], [2, 7], [5, 12]] → 3

Например: заказ [3, 5] — дни 1–3, [2, 7] — дни 4–5, [5, 12] — дни 6–10. Все четыре не успеть: первые три вместе занимают 9 дней, а последний из них должен быть сдан к 7-му дню.

Пример 2
orders=[[6, 4], [5, 3]] → 0

Каждый заказ длиннее своего срока, взять нельзя ни один.

Пример 3
orders=[[2, 2], [2, 4], [2, 6]] → 3
Ограничения
  • 1 ≤ len(orders) ≤ 10⁴
  • 1 ≤ days, deadline ≤ 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиНаращиваем капитал проектами СложнаяСамый узкий отрезок для всех списков СложнаяБригада с оплатой по навыку СложнаяТемп отряда задаёт самый слабый СложнаяРазброс оценок при делении посылок Сложная
загружаем Python…
Вход
orders=[[3, 5], [4, 6], [2, 7], [5, 12]]
Ожидается
3

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