Різні підрядки
Обмеження: 3 сек., 512 МіБ
У Зеника та Марічки є рядок \(s\),
який складається із \(n\) маленький
англійських букв a-z
.
Сьогодні вони хочуть порахувати, скільки в ньому є різних підрядків, які складаються із не більше ніж \(k\) різних букв. Допоможіть їм знайти цю кількість.
Вхідні дані
У першому рядку задано два цілих числа \(n\) та \(k\) — розмір рядка \(s\), а також максимальна кількість різних букв.
У другому рядку задано послідовність із \(n\) символів, кожен з яких є маленькою англійською буквою.
Вихідні дані
У єдиному рядку виведіть одне ціле число — відповідь на задачу.
Обмеження
\(1 \le n \le 5 \cdot 10^5\),
\(1 \le k \le 26\).
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
7 2 abacaba | 9 |
Примітки
У прикладі є 9 різних підрядків із не більше ніж 2-х букв:
a
, b
, c
, ab
,
ba
, ac
, ca
, aba
,
aca
.
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|