Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

String Function Calculation

Задана строка T, рассмотрим некоторую ее подстроку S. Определим функцию f(S):

f(S) = |S| ✕ (КОЛИЧЕСТВО ВХОЖДЕНИЙ S В T)

Ваша задача — посчитать, какое максимальное значение принимает f(S) на множестве всех подстрок строки T.

Формат входных данных

В единственной строке записана строка T, состоящая только из строчных букв латинского алфавита.

Формат выходных данных

Выведите целое число — ответ на задачу.

Ограничения

  • 1 ≤ |T| ≤ 10⁵

Пример входных данных #00

aaaaaa

Пример выходных данных #00

12

Примечание #00

f('a') = 6
f('aa') = 10
f('aaa') = 12
f('aaaa') = 12
f('aaaaa') = 10
f('aaaaaa') = 6

Пример входных данных #01

abcabcddd

Пример выходных данных #01

9

Примечание #01

f("a") = 2
f("b") = 2
f("c") = 2
f("ab") = 4
f("bc") = 4
f("ddd") = 3
f("abc") = 6
f("abcabcddd") = 9