J - Delete Balls Editorial /

Time Limit: 2 sec / Memory Limit: 1024 MB

配点 : 400

問題文

RBW からなる長さ N の文字列 S が与えられます。

N 個のボールが左右一列に並んでいて、左から i 番目のボールの色は Si 文字目が R なら赤、B なら青、W なら白です。

あなたははじめにすべての白色のボールをそれぞれ赤色か青色で塗りなおします。その後、あなたは以下の操作を可能な限り何度でも行うことができます。

  • 赤色のボール r 個と青色のボール b 個からなる長さ r + b の連続したボールの列を選択し,列全体から取り除く。その後、残ったボールの順番を保ったまま取り除いた分だけ列を詰める。

上手く色を塗りなおし、適切な操作を行うと、最大何回操作ができるか求めてください。

制約

  • 1 \leq N \leq 2 \times 10 ^ 5
  • 1 \leq r, b
  • r + b \leq N
  • N, r, b は整数
  • SR, B, W からなる長さ N の文字列

入力

入力は以下の形式で標準入力から与えられる。

N r b
S

出力

操作の最大回数を出力せよ。


入力例1

4 1 1
BBWR

出力例1

2

まず左から 3 番目の白いボールを赤く塗ります。 1 回目の操作では左から 2 番目の青いボールと 3 番目の赤いボールからなる連続部分列を選択し,列から取り除きます。 2 回目の操作では左から 1 番目の青いボールと 2 番目の赤いボールからなる連続部分列を選択し,列から取り除きます。

以上により 2 回の操作を行うことができました。

どのような手順でも 3 回以上操作を行うことはできないので、答えは 2 となります。


入力例2

6 2 1
RBBBWB

出力例2

0

取り除く部分列は連続である必要があります。


入力例3

13 3 3
WWWWWWWWWWWWW

出力例3

2

すべてのボールを同じ色で塗る必要は無いことに注意してください。