记录编号 | 428253 | 评测结果 | AAAAAAAAAAAAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | [51nod 1129] 字符串最大值 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | 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(){;}