#CF1789F. Serval 与脑力问题
Serval 与脑力问题
F. Serval 与脑力问题
时间限制:每个测试点 2 秒
内存限制:256 MB
Serval 热爱脑力问题和他的脑力挑战。
Serval 定义:一个字符串 是强大的,当且仅当 可以通过将某个字符串 重复多次拼接得到。
形式化地说, 是强大的,当且仅当存在一个字符串 和一个整数 ,使得
例如,gogogo 是强大的,因为它可以由 go 重复 次拼接而成,而 power 则不是强大的。
Serval 有一个由小写英文字母组成的字符串 。
他想知道 的最长强大子序列的长度,并且你只需要输出这个长度。
如果 的所有非空子序列都不是强大的,则答案被认为是 。
子序列定义
字符串 是字符串 的子序列,如果 可以通过删除 中的若干个(可能为零或全部)字符得到。
输入
第一行包含一个字符串 (),由小写英文字母组成。
输出
输出一个整数 —— 的最长强大子序列的长度。
如果所有非空子序列都不是强大的,输出 。
样例
输入
buaa
输出
2
输入
codeforcesround
输出
6
输入
oooooooooooaaaaeaaiaujooooooooooooo
输出
24
输入
zero
输出
0
提示
对于第一个样例,buaa 的所有非空子序列如下:
b, u, a(出现两次,来自 buaa 的不同位置),
bu, ba(出现两次),
ua(出现两次),
aa,
bua(出现两次),
baa,
uaa,
buaa。
其中 aa = a + a,所以 aa 是一个强大子序列。
可以证明 aa 是唯一的强大子序列,因此答案是 。
对于第二个样例,最长强大子序列是 codcod(来自 codeforcesround),因此答案是 。