EduBrick

G. Сколько наибольших палиндромов

2000 мс · 256 МБ · всё или ничего

Найдите длину наибольшей палиндромной подстроки и посчитайте, сколько раз палиндром такой длины встречается в строке. Вхождения на разных позициях считаются разными.

Длина ищется как в классе. Дальше важное наблюдение: если LL - максимум, то палиндром длины LL с центром ii существует ровно тогда, когда радиус в ii равен ровно нужному, а не больше - больше просто не бывает, иначе LL не был бы максимумом.

Поэтому счёт получается одним проходом:

  • при нечётном LL считаем центры с 2d1[i]−1=L2 d_1[i] - 1 = L;
  • при чётном - центры с 2d2[i]=L2 d_2[i] = L.

Считать надо только по «своей» чётности: если LL нечётно, чётные центры к ответу отношения не имеют.

Разные центры дают разные позиции, так что двойного счёта не будет.

Формат ввода

Одна строка длины nn (1≤n≤1051 \le n \le 10^5) из строчных латинских букв.

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

Два числа: длина наибольшего палиндрома и количество его вхождений.

Примеры

ввод
abacaba
вывод
7 1
ввод
abc
вывод
1 3
Войдите, чтобы отправлять решения.