Ankit_132

D

Jun 6th, 2024
831
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int solve(){
  5.     int n, k;
  6.     string s;
  7.     cin >> n >> k;
  8.     cin >> s;
  9.  
  10.     int p = -1, cnt = 1;
  11.  
  12.     for (int i = 1; i <= n; i++) {
  13.         if (i == n || s[i - 1] != s[i]) {
  14.             if (cnt != k) {
  15.                 p = i - 1;
  16.                 if (cnt > k)p -= k;
  17.                 break;
  18.             }
  19.             else cnt = 0;
  20.         }
  21.         cnt++;
  22.     }
  23.     if (p == -1)return n;
  24.     if (p == n - 1)return -1;
  25.  
  26.  
  27.     string a = s.substr(p + 1, n - p - 1);
  28.     string b = s.substr(0, p + 1);
  29.  
  30.     int l = 0, r = b.size() - 1;
  31.     while (l <= r) {
  32.         swap(b[l], b[r]);
  33.         l++; r--;
  34.     }
  35.  
  36.     s = a + b;
  37.  
  38.     cnt = 1;
  39.     for (int i = 1; i <= n; i++) {
  40.         if (i == n || s[i - 1] != s[i]) {
  41.             if (cnt != k)return -1;
  42.             else cnt = 0;
  43.         }
  44.         cnt++;
  45.     }
  46.  
  47.     return p + 1;
  48. }
  49.  
  50. int main(){
  51.    int t;
  52.    cin>>t;
  53.    while (t--){
  54.         cout<<solve()<<'\n';
  55.    }
  56. }
  57.  
Advertisement
Add Comment
Please, Sign In to add comment