Анонс #193. Барбершоп
UniLecsЗадача: в барбершопе работает один мастер. Он тратит на одного клиента ровно 20 минут, а затем сразу переходит к следующему, если в очереди кто-то есть. Если в очереди никого, то ждет след.клиента.
В течение дня есть данные о времени прихода клиентов в барбершоп. Также заранее известна степень терпения каждого клиента. Степень показывает, сколько человек может максимально находиться в очереди перед клиентом, чтобы он дождался своей очереди и не ушел раньше. Т.е. если в момент прихода клиента в очереди находится больше людей, чем степень его терпения, то он уходит. Клиент, который уже обслуживается в данный момент, также считается находящимся в очереди.
Необходимо для каждого клиента вывести время его выхода из барбершопа.
Входные данные: clients (h, m, d) - список с данными клиента, где
(h, m, d) - h - часы от 0 до 23, m - минуты от 0 до 59, d - степень терпения клиента (неотрицательное число не более 100).
Вывод: вывести время (часы и минуты) выхода каждого клиента из барбершопа.
Примечание: если на момент прихода клиента человек в очереди больше, чем степень его терпения, то можно считать, что время его ухода равно времени прихода. Барбершоп работает круглосуточно :)
Пример:
1. [ (10, 0, 0), (10, 1, 1), (10, 2, 1) ];
Output:
10:20
10:40
10:02
2. [ (1, 0, 100), (2, 0, 0), (2, 1, 0), (2, 2, 3), (2, 3, 0) ];
Output:
1:20
2:20
2:01
2:40
2:03