АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

1950. Число недавних вызовов

Ограничение времени: 1 сек.
Ограничение памяти:262144 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

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

Для каждого входного времени ti выведите, сколько запросов произошло к базе за последние T секунд – то есть в интервал времени [ti - T, t]. Текущий запрос при этом тоже учитывается.

Входные данные

Вначале вводится два числа N и T (где 1 ≤ N ≤ 2·105, 1 ≤ T ≤ 109).

Далее вводятся целые числа t1, t2, ..., tN в порядке возрастания. Числа лежат в диапазоне от 1 до 109

Выходные данные

Выведите N целых чисел – количество недавних запросов к базе для каждого заданного момента времени.

Пример

Входные данные
4 3000
1
1000
3001
3002
Выходные данные
1
2
3
3

Примечание

Задача с интервью при приёме программиста на работу в одну из ИТ-компаний


Статистика Послать на проверку Обсуждение задачи Автор/источник:
Учебные курсы / Алгоритмы и структуры данных / Структуры данных /
1980. Число вершин 1950.
Учебные курсы / Язык программирования C++ / Стандартные структуры данных /
1950. 1949. 2 - Поиск в массиве 1948. 3 - Коммерческий калькулятор 24. 4 - Однострочный редактор
 
время генерации 0.093 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.