Контест Middle Замыкания и захват обновлено

Задача на Swift: debounce для поиска

Условие

Поле поиска отправляет запрос только когда пользователь перестал печатать: после события таймер на d мс запускается заново, и запрос уходит, если за это время не пришло новое событие. Если следующее событие пришло ровно через d мс или позже, запрос по предыдущему уже отправлен.

Первая строка: n d (1 ≤ n ≤ 10⁴, 1 ≤ d ≤ 10⁶). Дальше n строк t текст (время в мс не убывает, текст без пробелов).

Выведите отправленные запросы: время_отправки текст по одному в строке.

Пример

5 300
0 s
100 sw
250 swi
700 swif
1000 swift
550 swi
1000 swif
1300 swift

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.