Advertisement
Josif_tepe

Untitled

Dec 14th, 2023
811
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.39 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <map>
  5. #include <set>
  6. #include <algorithm>
  7. using namespace std;
  8.  
  9. int main() {
  10.     ios_base::sync_with_stdio(false);
  11.     string s;
  12.     cin >> s;
  13.     int res =0 ;
  14.     int n = (int) s.size();
  15.     vector<int> v[26];
  16.    
  17.     for(int i = 0; i < n; i++) {
  18.         v[s[i] - 'A'].push_back(i);
  19.     }
  20.    
  21.     for(int i = 0; i < n; i++) {
  22.         int c = s[i] - 'A';
  23.        
  24.         for(int k = (int) v[c].size() - 1; k >= 0; k--) {
  25.             int p = v[c][k];
  26.             if(p <= i) break;
  27.             int sz = p - i + 1;
  28.                 if(sz % 4 == 0) {
  29.                     sz /= 4;
  30.                     int cnt = 1;
  31.                     bool ok = true;
  32.                     for(int j = i; j < i + sz; j++) {
  33.                         if(s[j] == s[i + 2 * sz - cnt] and s[j] == s[j + 2 * sz] and s[j] == s[i + 4 * sz - cnt]) {
  34.                            
  35.                         }
  36.                         else {
  37.                             ok = false;
  38.                             break;
  39.                         }
  40.                         cnt++;
  41.                     }
  42.                     if(ok) {
  43.                         res = max(res, 4 * sz);
  44.                         i = p;
  45.                         break;
  46.                     }
  47.                 }
  48.             }
  49.        
  50.     }
  51.     cout << res << endl;
  52.     return 0;
  53. }
  54.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement