5658 - 提高:Manacher 算法:[国家集训队] 最长双回文串
Time Limit : 1 秒
Memory Limit : 128 MB
顺序和逆序读起来完全一样的串叫做回文串。比如 acbca
是回文串,而 abc
不是:abc
的顺序为 abc
,逆序为 cba
,不相同。
输入长度为 n 的串 S,求 S 的最长双回文子串 T,即可将 T 分为两部分 X, Y(|X|,|Y|≥1)且 X 和 Y 都是回文串。
Input
输入格式
一行由小写英文字母组成的字符串 S。
Output
输出格式
一行一个整数,表示最长双回文子串的长度。
Examples
Input
baacaabbacabb
Output
12
Hint
提示
样例说明
从第二个字符开始的字符串 aacaabbacabb
可分为 aacaa
与 bbacabb
两部分,且两者都是回文串。
数据范围
对于 100\% 的数据,2\leq |S|\leq 10^5。