复杂度应该是n^2*log n但是会TLE
#include<bits/stdc++.h>
using namespace std;
struct node
{
int len,l,r;
};
map<string,node>mp;
int n,ans;
string s;
int main()
{
cin>>n>>s;
s=' '+s;
for(int i=1;i<=n;i++)
{
string s1="";
for(int j=i;j<=n;j++)
{
s1+=s[j];
if(mp[s1].l==0)
{
mp[s1].l=i;
mp[s1].r=j;
mp[s1].len=j-i+1;
}
else if(mp[s1].r<i)
ans=max(ans,mp[s1].len);
}
}
cout<<ans;
}