11965. Функція від рядка


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Оксана більше за все любить працювати з рядками.

У неї є рядок \(T\) і вона вміє знаходити функцію \(f\) від рядка \(s\):

\(f(s) = |s| \times \) (кількість \(s\) в \(T\))

Сьогодні Оксана шукає максимальне значення серед усіх підрядків рядка \(T\).

Допоможіть Оксані розв'язати цю задачу - складіть відповідну програму.

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

Вхідний потік містить рядок \(T\).

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

У вихідний потік вивести максимальне значення \(f(s)\) серед усіх підрядків \(s\) рядка \(T\).

Обмеження

\(1 \le T \le 10^5\)

\(T\) містить символи проміжку ['a'..'z']

Пояснення прикладів

Тест 1

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

Максимальне значення дорівнює 12 \

Тест 2 Значення f(s) кількох підрядків:

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

Максимальне значення дорівнює 9

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

aaaaaa

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

12

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

abcabcddd

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

9

Коментарі

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