06. Серёжа и суффиксы#
| 🎯 Уровень | 🟠 Middle |
| 🔗 Источник | Codeforces 368B — Sereja and Suffixes |
| 📊 Сложность | 1100 |
| 🏷️ Темы | множества, предподсчёт |
📝 Условие#
Дан массив и m запросов l. Для каждого выведите количество различных чисел на отрезке a[l..n].
📥 Входные данные#
В первой строке два числа n и m (1 ≤ n, m ≤ 10⁵). Во второй — n чисел a_i (1 ≤ a_i ≤ 10⁵). Далее m строк, в каждой число l_i (1 ≤ l_i ≤ n).
📤 Выходные данные#
m строк — количество различных чисел на суффиксе a[l_i..n].
🧪 Тесты#
Тест 1#
Ввод:
10 10
1 2 3 4 1 2 3 4 100000 99999
1
2
3
4
5
6
7
8
9
10
Вывод:
6
6
6
6
6
5
4
3
2
1
Тест 2#
Ввод:
3 2
5 5 5
1
3
Вывод:
1
1
Заметка
Оригинальное условие и проверка решения на всех тестах — по ссылке на источник.
💡 Подсказка#
Открыть, если застрял(а) больше чем на 20 минут
Предподсчёт справа налево.