Advertisement
NgJaBach

Where Am I?

Jan 23rd, 2023
609
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. // NgJaBach: Forever Meadow <3
  2.  
  3. #include<bits/stdc++.h>
  4.  
  5. using namespace std;
  6. typedef long long int ll;
  7. typedef unsigned long long ull;
  8. #define pb push_back
  9. #define pob pop_back
  10. #define mp make_pair
  11. #define upb upper_bound
  12. #define lwb lower_bound
  13. #define bend(a) a.begin(),a.end()
  14. #define rev(x) reverse(bend(x))
  15. #define mset(a) memset(a, 0, sizeof(a))
  16. #define fi first
  17. #define se second
  18. #define gcd __gcd
  19. #define getl(s) getline(cin, s);
  20. #define setpre(x) fixed << setprecision(x)
  21. #define endl '\n'
  22. const int N=200050,M=1000000007;
  23. const ll INF=1e18+7;
  24. int main(){
  25.     ios_base::sync_with_stdio(NULL); cin.tie(nullptr); cout.tie(nullptr);
  26.     freopen("whereami.in","r",stdin);
  27.     freopen("whereami.out","w",stdout);
  28.     int n,L,R,mid,ans;
  29.     set<string>ex;
  30.     string s,str;
  31.     cin>>n;
  32.     cin>>s;
  33.     ans=n;
  34.     L=1; R=n;
  35.     while(L<=R){
  36.         mid=(L+R)/2;
  37.         ex.clear();
  38.         for(int i=mid-1;i<n;++i){
  39.             str.clear();
  40.             for(int j=i-mid+1;j<=i;++j){
  41.                 str.pb(s[j]);
  42.             }
  43.             ex.insert(str);
  44.         }
  45.         if(ex.size()!=(n-mid+1)) L=mid+1;
  46.         else{
  47.             R=mid-1;
  48.             ans=min(ans,mid);
  49.         }
  50.     }
  51.     cout<<ans;
  52.     return 0;
  53. }
  54. /*
  55. ==================================+
  56. INPUT:                            |
  57. ------------------------------    |
  58.  
  59. ------------------------------    |
  60. ==================================+
  61. OUTPUT:                           |
  62. ------------------------------    |
  63.  
  64. ------------------------------    |
  65. ==================================+
  66. */
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement