#include<iostream>
#include<vector>
using namespace std;
int n,l,r,mid;
string s,s_;
vector<string> v;
bool check(int x){
v.clear();
for(int i=0;i<=n-x+1;i++){
s_=s.substr(i,x);
for(int i=0;i<v.size();i++){
if(v[i]==s_) return 0;
}
v.push_back(s_);
}
return 1;
}
int main(){
cin>>n>>s;
l=1,r=n;
while(l<=r){
mid=(l+r)/2;
if(check(mid)) r=mid-1;
else l=mid+1;
}
cout<<l;
return 0;
}
东方博宜2023.3月赛B组B题 迷途未返
最新推荐文章于 2024-09-14 22:25:23 发布