1332: Грані рядка

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 16,00 (partial)
Time limit: 1.0s
Memory limit: 64M

Author:
Problem type
Allowed languages
Assembly, Awk, Brain****, C, C++, Java, mono C#, Pascal, Perl, Python, Sed, Text, vb

Гранню рядка ~Т~ назвемо власний префікс, який рівний суфіксу

Наприклад, рядок ~T = abaababaabaab~ має дві не пусті грані – ~ab~ i ~abaab~ . Рядок ~T = abaabaab~ також має дві не пусті грані – ~ab~ i ~abaab~ , але друга грань перекриває свій префікс. Рядок із однакових символів має ~n-1~ граней, наприклад ~T = aaaaaaaa~ має такі грані: ~a, aa, aaa, aaaa, aaaaa, aaaaaa, aaaaaaa~. Довжина грані - це кількість символів у ній. Серед усіх граней знайдеться найбільша грань: - найбільший власний префікс, рівний суфіксу. Необхідно визначити найбільшу грань заданого рядка ~Т~.

Формат вхідних даних

Єдиний рядок вхідного стандартного потоку містить рядок ~Т~ ~(1 ≤ size(Т) ≤ 10^5)~- усі символи якого - це літери латиниці.

Формат вихідних даних

У єдиний рядок вихідного стандартного потоку вивести одне число – довжину найбільшої грані.

Приклад вхідних даних

abaabaab

Приклад вихідних даних

5

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.