Алфавітна послідовність
Обмеження: 2 сек., 512 МіБ
Зеник з Марічкою мають ферму з \(n\) жеребцями. Коні на фермі мають різні масті — вороні, гніді, булані та інші. Усього бувають \(26\) різних мастей, позначених малими латинськими буквами.
Фермери вишикували своїх жеребців у шеренгу. Шеренгу можна подати рядком \(s\) з \(n\) малих букв англійського алфавіту, що позначають масті коней у шерензі.
Назвемо послідовність коней алфавітною, якщо одночасно виконуються такі дві умови:
усі масті коней у послідовності різні,
букви, що позначають масті коней, виписані в порядку послідовності, ідуть в алфавітному порядку.
Наприклад, послідовності abx, qrtu,
m є алфавітними, а послідовності aab,
qwerty — ні.
Вам потрібно знайти розмір найдовшого проміжку заданої шеренги жеребців, який є алфавітною послідовністю.
Вхідні дані
У першому рядку задано ціле число \(n\) — кількість жеребців у шерензі.
У другому рядку задано рядок \(s\) з \(n\) малих латинських букв, що позначає шеренгу коней.
Вихідні дані
Виведіть одне ціле число — розмір найдовшого проміжку заданої шеренги жеребців, який є алфавітною послідовністю.
Обмеження
\(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 бали: без додаткових обмежень.
Бали за блок ви отримаєте, тільки якщо ваша програма пройде всі тести з блоку.
Приклади
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 8 olympiad | 2 |
| Вхідні дані (stdin) | Вихідні дані (stdout) |
|---|---|
| 10 algotester | 3 |
Примітки
У першому прикладі \(s =\)
olympiad. У цій шерензі є декілька проміжків довжини \(2\), які є алфавітними послідовностями:
ly, mp, ad. Жодного такого
проміжка довжини більшої за \(2\)
немає. Тому відповідь дорівнює \(2\).
У другому прикладі \(s =\)
algotester. Тут є проміжки довжиною \(3\), які є алфавітними послідовностями:
got, est.
Надіслати розв'язок
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|
| Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
|---|