Домашки с дедлайнами
Условие
В школе на четверть дали много небольших работ. Каждая работа занимает ровно один день: если ты делаешь её в какой-то день, то в этот день ты больше ничего не успеваешь.
За работу i дают p_i баллов, но только если закончить её не позже дня d_i (то есть выбрать для неё день t, где 1 ≤ t ≤ d_i). В один день можно сделать не больше одной работы. Некоторые работы можно не делать.
Найди максимальную сумму баллов, которую можно набрать.
Важно: сумма баллов может не помещаться в 32-битный тип (как на олимпиадах). В Python это не проблема, но в других языках нужен 64-битный тип.
Формат ввода
Первая строка: целое число n — количество работ.
Далее идут n строк, в каждой два целых числа p_i и d_i — баллы за работу и последний день, когда её ещё можно сдать.
Формат вывода
Выведи одно целое число — максимальную возможную сумму баллов.
Ограничения
1 ≤ n ≤ 1000001 ≤ p_i ≤ 10000001 ≤ d_i ≤ 200000
Пример
Ввод:
5
10 1
20 1
30 2
25 2
100 3
Вывод:
155Решить задачу с автопроверкой на Python →
Куда дальше
- Python на олимпиадах — где языка хватает с запасом, а где начинают значить лимиты — с замерами
- БВИ и льготы при поступлении — какой диплом что даёт и сколько лет он действует
- Перечневые олимпиады по информатике — олимпиады перечня Минобрнауки, их уровни и что нужно к диплому