Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- const int maxN = 1e6 + 1;
- using namespace std;
- int sap[maxN], ngua[maxN];
- int main()
- {
- int n,k;
- string s;
- cin >> n >> k;
- cin >> s;
- s = " " + s;
- fill(ngua, ngua + maxN, 0);
- fill(sap, sap + maxN, 0);
- if(s[1] == 'O') ngua[1] = 1;
- else sap[1] = 1;
- for(int i = 1; i <= n; ++i)
- {
- if(s[i] == 'O')
- ngua[i] = ngua[i - 1] + 1;
- else
- ngua[i] = ngua[i - 1];
- if(s[i] == 'R')
- sap[i] = sap[i - 1] + 1;
- else
- sap[i] = sap[i - 1];
- }
- int ans;
- int tmp = n/(k+1) * (k+1);
- for(int kc = tmp; kc >= 1; kc -= (k+1))
- {
- for(int i = 1; i <= n - kc + 1; ++i)
- {
- if((ngua[i+kc-1] - ngua[i-1]) == k * (sap[i+kc-1] - sap[i-1]))
- {
- ans = kc;
- goto xyz;
- }
- }
- }
- xyz: cout << ans << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement