10659: Рівно К на відрізку (для алгоритм Мо)


Відправити розв'язок

Бали: 100 (partial)
Time limit: 3.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js

Є масив з \(N\) цілих чисел, кожне з яких може приймтаи значення від 1 до \(M\), а також задано число \(K\).
Необхідно відповісти на запити \(L\) \(R\) - скільки чисел на відрізку \(L..R\) зустрічаються рівно \(K\) раз.

Формат вхідних даних

В першому рядку чотири цілих числа \(N,M,Q,K\) (\(1 \le N,Q \le 2*10^5\), \(1 \le M \le 10^6\), \(0 \le K \le 3\) ).

В другому рядку \(N\) цілих чисел - відповідний масив.

В наступних \(Q\) рядках по два цілих числа \(L\) та \(R\) - запити. (\(1 \le L < R \le N\)).

Формат вихідних даних

Для кожного запиту виведіть в окремому рядку відповідь - скільки чисел на відрізку \(L..R\) зустрічаються рівно \(K\) раз.

Приклад вхідних даних

5 5 2 2
1 2 2 1 5
1 5
2 4

Приклад вихідних даних

2
1

Коментарі

Ще немає коментарів.