atcoder#ASAPOROB. 圧縮
圧縮
配点 : 点
問題文
高橋君は 項からなる数列 を拾いました。数列を全部持ち帰るのは大変なので、高橋君は圧縮して一つの数にすることに決めました。
圧縮は 回のステップからなり、各ステップごとに今ある数列を、長さが 短い数列に圧縮します。ステップでの操作を表す文字列を として、今ある数列を とするとき、 回目のステップでは以下の操作を行います。
- の 文字目が
M
のとき、 として、数列を に圧縮する - の 文字目が
m
のとき、 として、数列を に圧縮する
さて、高橋君は圧縮するステップの操作を表す文字列 を決めましたが、疲れていて実際に圧縮することができません。代わりに、圧縮して得られる数を求めてください。
制約
- は 文字からなり、各文字は
M
またはm
である。
部分点
- 点分のデータセットでは、ある が存在して、 の最初の 文字が
M
、その他の文字がm
である。すなわち、 はM...Mm...m
のようになる。 - 点分のデータセットでは、 の奇数文字目は
M
、偶数文字目はm
である。すなわち、 はMmMmMm...
のようになる。
入力
入力は以下の形式で標準入力から与えられる。
出力
圧縮して高橋君が得られる数を出力せよ。
入力例1
4
1 2 3 4
MmM
出力例1
3
最初の数列が なので、
- 回目のステップでは数列 に圧縮されます。
- 回目のステップでは数列 に圧縮されます。
- 回目のステップでは数列 に圧縮されます。
よって、求める数は です。
入力例2
5
3 4 2 2 1
MMmm
出力例2
2
入力例3
10
1 8 7 6 8 5 2 2 6 1
MmmmmMMMm
出力例3
5
入力例4
20
12 7 16 8 7 19 8 19 20 11 7 13 20 3 4 11 19 11 15 5
mMMmmmMMMMMMmMmmmMM
出力例4
11