eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

G. Козак Вус та рядки

G. Козак Вус та рядки

Нещодавно Козак Вус натрапив на наступну задачу. Є рядок $s$. Треба знайти кількість підрядків цього рядка з такими властивостями: \begin{enumerate} \item Підрядок повинен мати принаймні $3$ літери; \item Усі літери підрядка однакові, за виключенням однієї. \end{enumerate} Наприклад, рядки \t{aab}, \t{cccdc} задовільняють цим властивостям, а рядки \t{ab}, \t{ccc}, \t{aabbaa} --- ні. Рядок $x$ є підрядком рядка $y$, якщо $x$ може бути отриманим видаленням кількох (можливо, жодного або всіх) символів з початку і декількох (можливо, жодного або всіх) символів з кінця. Допоможіть Козаку Вусу розв'язувати цю задачу. \InputFile Перший рядок містить рядок $s$ ($1 \le |s| \le 2 \cdot 10^5$), який складається з літер латинської абетки нижнього регістру. \OutputFile Виведіть єдине число --- кількість підрядків з заданими умовами. \Scoring Якщо рішення працює правильно при $|s| \le 100$, то воно буде оцінюватися принаймні у $15$ балів. Якщо рішення працює правильно при $|s| \le 5000$, то воно буде оцінюватися принаймні у $40$ балів.
Ліміт часу 2 секунди
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
abcbb
Вихідні дані #1
3
Вхідні дані #2
abacabadabacaba
Вихідні дані #2
7
Вхідні дані #3
hello
Вихідні дані #3
2
Вхідні дані #4
yyyyxyyyzttt
Вихідні дані #4
21
Автор Kostya Denisov
Джерело Ukrainian Olympiad in Informatics 2021, II Stage, I Round