Очередь в компьютерный класс

тема: Моделирование процессов · уровень: средний

В школе есть компьютерный класс на M одинаковых компьютеров. На переменах туда забегают ученики: каждый приходит в момент времени t и хочет поработать ровно d минут.

Если в момент прихода есть свободный компьютер, ученик сразу занимает один из них и освобождает его в момент t + d. Если свободных компьютеров нет, ученик разворачивается и уходит (в очередь не встаёт).

Считай, что если кто-то освобождает компьютер в точности в момент t, то этот компьютер уже свободен для ученика, который приходит в момент t.

Нужно узнать: 1) сколько учеников смогли поработать; 2) какое максимальное число компьютеров было занято одновременно.

Формат ввода

Первая строка: два целых числа N и M — количество учеников и количество компьютеров. Следующие N строк: по два целых числа t_i и d_i — момент прихода и длительность работы i-го ученика.

Формат вывода

Выведи два целых числа через пробел: A B, где A — сколько учеников получили компьютер, B — максимум одновременно занятых компьютеров.

Ограничения

Пример

Ввод:

5 2
0 5
1 2
2 2
3 2
5 1

Вывод:

4 2

Решить задачу с автопроверкой на Python →