// yukicoder: No.38 赤青白ブロック // 2019.6.30 bal4u #include #define ST 35 #define LIM (1<<20) int kr, kb; char S[32], s[70]; int main() { int i, j, w, ans; char *p, *q; scanf("%d%d", &kr, &kb); scanf("%s", S); ans = 0; i = LIM; while (i--) { j = i, p = S, q = s + ST, w = 0; while (*p) { while (*p == 'W') *q++ = 'W', w++, p++; if (*p == 'R') { if (j & 1) { if (*(q-kr) == 'R') goto done; *q++ = 'R'; } } else { if (j & 1) { if (*(q-kb) == 'B') goto done; *q++ = 'B'; } } if (!(j >>= 1)) break; p++; } q += 10 - w; if (q-s > ans) ans = q-s; done:; } printf("%d\n", ans-ST); return 0; }