АВТ
Language: Russian
English

Remote Training on Programming

Problems Online status Contests
News FAQ E-learning
For authors:
Register  ||  Login
 
Hello, Guest! Please login or register.

1950. Count of Recent Calls

Time Limit: 1 seconds
Memory Limit:262144KB
Points:100
View Problem Statistics Submit Problem added 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

Примечание

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


View Problem Statistics Submit Problem discussion Author/source:
Educational Courses / Algorithms and Data Structures / Data Structures /
1992. Composition 1950. 245. Divisors 1975. Flat 558. Hottabich and Garland
Educational Courses / C++ Programming Language / Standard Data Structures /
1950. 1949. 2 - Search in Array 1948. 3 - Commercial Calculator 24. 4 - One-Line Editor
time generating 0.109 sec.
© Copyright VSU, AVT, Nosov D.A., Andrianov I.A.