Программа: очередь к банкоматам
Условие
В отделении банка установлены K банкоматов, пронумерованных от 1 до K. За день к ним пришли N клиентов; для каждого известны момент прихода t (в секундах от начала дня) и время обслуживания d (в секундах). Все моменты прихода различны.
Клиенты обслуживаются строго в порядке прихода по следующим правилам:
— если в момент прихода клиента есть свободные банкоматы, он сразу занимает свободный банкомат с наименьшим номером;
— если все банкоматы заняты, клиент ждёт и занимает тот банкомат, который освободится раньше остальных (если таких несколько — с наименьшим номером), в момент его освобождения.
Банкомат, освобождающийся ровно в момент прихода клиента, считается свободным.
Определите суммарное время ожидания всех клиентов (время ожидания — разность между началом обслуживания и моментом прихода) и номер банкомата, который обслужил больше всего клиентов (если таких несколько — наименьший номер).
Входные данные: в первой строке — числа N и K через пробел (1 ≤ N ≤ 10 000, 1 ≤ K ≤ 100); в каждой из следующих N строк — два натуральных числа t и d через пробел (1 ≤ t ≤ 10^6, 1 ≤ d ≤ 10^4). Клиенты перечислены в произвольном порядке.
Выходные данные: два числа через пробел — суммарное время ожидания и номер банкомата.
Пример.
Входные данные:
6 2
1 10
3 4
5 3
6 8
20 5
11 2Выходные данные:
6 1