Анонс #193. Барбершоп

Анонс #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

Report Page