Алфавітна послідовність
Limits: 2 sec., 512 MiB
Зеник з Марічкою мають ферму з \(n\) жеребцями. Коні на фермі мають різні масті — вороні, гніді, булані та інші. Усього бувають \(26\) різних мастей, позначених малими латинськими буквами.
Фермери вишикували своїх жеребців у шеренгу. Шеренгу можна подати рядком \(s\) з \(n\) малих букв англійського алфавіту, що позначають масті коней у шерензі.
Назвемо послідовність коней алфавітною, якщо одночасно виконуються такі дві умови:
усі масті коней у послідовності різні,
букви, що позначають масті коней, виписані в порядку послідовності, ідуть в алфавітному порядку.
Наприклад, послідовності abx
, qrtu
,
m
є алфавітними, а послідовності aab
,
qwerty
— ні.
Вам потрібно знайти розмір найдовшого проміжку заданої шеренги жеребців, який є алфавітною послідовністю.
Input
У першому рядку задано ціле число \(n\) — кількість жеребців у шерензі.
У другому рядку задано рядок \(s\) з \(n\) малих латинських букв, що позначає шеренгу коней.
Output
Виведіть одне ціле число — розмір найдовшого проміжку заданої шеренги жеребців, який є алфавітною послідовністю.
Constraints
\(1 \le n \le 2 \cdot 10^5\).
Оцінювання складається з таких блоків:
по 1 балу за кожен приклад з умови,
5 балів: \(s\) складається лише із символів
a
,11 балів: \(s\) складається лише із символів
a
,b
,16 балів: \(s\) складається лише із символів
a
,b
,c
,14 балів: \(n \le 100\),
19 балів: \(n \le 5000\),
33 бали: без додаткових обмежень.
Бали за блок ви отримаєте, тільки якщо ваша програма пройде всі тести з блоку.
Samples
Input (stdin) | Output (stdout) |
---|---|
8 olympiad | 2 |
Input (stdin) | Output (stdout) |
---|---|
10 algotester | 3 |
Notes
У першому прикладі \(s =\)
olympiad
. У цій шерензі є декілька проміжків довжини \(2\), які є алфавітними послідовностями:
ly
, mp
, ad
. Жодного такого
проміжка довжини більшої за \(2\)
немає. Тому відповідь дорівнює \(2\).
У другому прикладі \(s =\)
algotester
. Тут є проміжки довжиною \(3\), які є алфавітними послідовностями:
got
, est
.
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|