100 atcoder#ABC140D. [ABC140D] Face Produces Unhappiness

[ABC140D] Face Produces Unhappiness

配点 : 400400

問題文

東西一列に NN 人の人が並んでいます。

各人の状態を表す長さ NN の文字列 SS が与えられます。 西から ii 番目の人は、文字列 SSii 文字目が L ならば西を、R ならば東を向いています。

どの人も、目の前の人が自分と同じ方向を向いていれば幸福です。 ただし、目の前に人が居ない場合、幸福ではありません。

あなたは、以下の操作を 00 回以上 KK 回以下の好きな回数だけ行います。

操作: 1lrN1 \leq l \leq r \leq N を満たす整数 l,rl, r を選ぶ。西から l,l+1,...,rl, l+1, ..., r 番目の人の列を 180180 度回転する。すなわち、i=0,1,...,rli = 0, 1, ..., r-l について、西から l+il + i 番目の人は操作後には西から rir - i 番目に移動し、元々西を向いていれば東を、東を向いていれば西を向く。

幸福である人は最大で何人にできるでしょうか。

制約

  • NN1N1051 \leq N \leq 10^5 を満たす整数である。
  • KK1K1051 \leq K \leq 10^5 を満たす整数である。
  • S=N|S| = N
  • SS の各文字は L または R である。

入力

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

NN KK

SS

出力

KK 回以下の操作後に幸福である人数の最大値を出力せよ。

6 1
LRLRRL
3

(l,r)=(2,5)(l, r) = (2, 5) と選べば LLLRLL となり、西から 2,3,62, 3, 6 番目の人が幸福です。

13 3
LRRLRLRRLRLLR
9
10 1
LLLLLRRRRR
9
9 2
RRRLRLRLL
7