记录编号 428253 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [51nod 1129] 字符串最大值 最终得分 100
用户昵称 GravatarHyoi_0Koto 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2017-07-25 08:11:59 内存使用 1.33 MiB
显示代码纯文本
#include<cstdio>
#include<cctype>
#include<cstring>
#include<iostream>
using namespace std;
const int maxl=1000001;
char c[maxl];
int next[maxl],cnt[maxl],ans,l;
inline int mian(){
	freopen("string_maxval.in","r",stdin);
	freopen("string_maxval.out","w",stdout);
	scanf("%s",c+1);int j=0;l=strlen(c+1);
	for(int i=2;i<=l;i++){
		while(j&&c[j+1]!=c[i]) j=next[j];
		if(c[j+1]==c[i]) j++;
		next[i]=j;
	}
	ans=0;
	for(int i=l;i;i--){
		cnt[i]++;
		cnt[next[i]]+=cnt[i];
		ans=max(ans,i*cnt[i]);
	}
	printf("%d",ans);
}
int shimakaze=mian();
int main(){;}