006 - S.goat's matter

時間制限 5 秒 / メモリ制限 512 MB / 得点 10 / x 2 /


TLE
5sec
MLE
512MB
得点
10

問題 - S.goatの言葉

Red Blue White
3色のmatterを構成するoriginがある。 originは各10個ずつから構成される。

originはあるルールに従いそのmatterを保っている。
    1:Red - Kr個左右にRed originがあってはならない。
    2:Blue - Kb個左右にBlue originがあってはならない。
    3:White - 特にルールはない。
私はmatterを速やかに構築、上部に送らねばならない。
しかし構築した際、上記のルールを満たさないmatter - "butter"ができる可能性がある。
よって、構築後にoriginをいくつか引き抜いてmatterを再構築するという操作が要る。

Red, Blueのoriginはいくらでも引き抜いて良いが、Whiteのoriginを引き抜くことはできない。
操作をすることで条件を満たし、matterをできるだけ大きく保ちたい。そのときの最大値を求めてくれ。
具体的な操作については入出力例を用いて説明するとしよう。 - S.goat 記

入力

Kr Kb
S
  • 1行目にKr Kbが空白区切りで与えられる。
  • 2行目に30文字のoriginの列が与えられる。RはRed, BはBlue, WはWhiteである。

出力

  • 再構築したmatterの大きさの最大値を出力する。改行を忘れないこと。

制約

  • 1≦Kr, Kb≦29
  • SはR, B, Wが各10個ずつの30文字の文字列である。

入出力例

入力例1

1 10
RRRRRRRRRRWWWWWWWWWWBBBBBBBBBB

出力例1

21
  • Rの1個となりがRであってはならないのでRを9個抜く。
  • Bの10個となりにBがあることは無いのでBは抜かなくてよい。
  • 最終的には RWWWWWWWWWWBBBBBBBBBB が残る。

入力例2

1 2
WRWWBBRRRWWBBRRRRWWWBBBRRWWBBB

出力例2

22

入力例3

7 11
BWBWRWRRWBRRWRRWWBBBRRWBBRWBBW

出力例3

27