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

Найбільша грань підрядка

Найбільша грань підрядка

\textit{Гранню (border, verge, brink) br} рядка \textbf{S} називається довільний власний префікс цього рядка, рівний суфіксу \textbf{S}. Рядок \textbf{S = abaababaabaab} має дві грані (не порожні) - \textbf{ab} та \textbf{abaab}. Радок \textbf{S = abaabaab} також має дві грані - \textbf{ab} та \textbf{abaab}, але друга грань - перекривається. Рядок довжини \textbf{n} з символу, що повторюється, наприклад \textbf{aaaaaaaa} (або \textbf{a^8}), має \textbf{n-1} грань. Для \textbf{S = a^8} це грані: \textbf{a}, \textbf{aa}, \textbf{aaa}, \textbf{aaaa}, \textbf{aaaaa}, \textbf{aaaaaa}, \textbf{aaaaaaa}. Поняття "\textit{власний префікс}" виключає грань, яка співпадає з самим рядком. \textit{Довжина грані} - це кількість символів у ній. Узагальнимо задачу. Нехай потрібно обчислииь значення найбільших граней для усіх підрядків \textbf{S\[1..i\]} (\textbf{i=1..n}) і зберегти їх у масиві \textbf{br\[1..n\]}. Знайдіть найбільше значення грані у масиві найбільших граней \textbf{br} для усіх підрідків \textbf{S}. \InputFile Задано рядок \textbf{S} (|\textbf{S}| ≤ \textbf{10^6}). \OutputFile У єдиному рядку вивести відповідь до сформульованої задачі.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
abaabaab
Вихідні дані #1
5