Значения с частотой не ниже порога

Просмотр в формате PDF

Submit solution


Очки: 140
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Problem type
Allowed languages
C++, Python

В системе аналитики хранится история покупок товаров. Каждый идентификатор в журнале означает одну покупку некоторого товара.

Для каждого запроса с порогом t требуется определить, сколько различных товаров являются популярными, то есть были куплены не менее t раз.

Иными словами, дан список из n покупок и q запросов. Для каждого значения t нужно вывести количество различных идентификаторов товаров, встречающихся в списке не менее t раз.

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

Первая строка содержит целое число n — количество записей в журнале покупок.

Вторая строка содержит n целых чисел a_i — идентификаторы товаров в порядке покупок.

Третья строка содержит целое число q — количество запросов.

В следующих q строках содержится по одному целому числу t — порог популярности.

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

Для каждого запроса выведите в отдельной строке количество различных товаров, которые были куплены не менее t раз.

Ограничения

  • 1 <= n <= 2 * 10^5
  • -10^9 <= a_i <= 10^9
  • 1 <= q <= 2 * 10^5
  • 1 <= t <= n

Примеры

Пример 1

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

5
5 5 -1 7 7
3
1
2
3

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

3
2
0
Пример 2

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

6
42 42 42 42 42 42
3
1
5
6

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

1
1
1
Пример 3

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

6
1 1 2 3 3 3
2
2
3

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

2
1

Комментарии

Еще нет ни одного комментария.