atcoder#AGC015B. [AGC015B] Evilator

[AGC015B] Evilator

配点 : 400400

問題文

すけぬ君は、NN 階建てのビルを建てました。ビルにはエレベーターが 11 基あり、すべての階に止まります。

すけぬ君は、各階に上下の方向ボタンを設置しましたが、うっかりしていたため、どの階にも上向きか下向きの片方のボタンしかありません。 そのため、どの階からも上か下のどちらかにしか進むことができません。 SiS_iU のとき ii 階には上向きのボタンしかなく、上にしか進めないことを、D のとき下向きのボタンしかなく、 下にしか進めないことを表します。

ある階から目的の階へと移動したい住民は、仕方がないので必要があれば他の階を経由して目的の階へと向かうことにしました。 全ての階の順序対 (i,j)(i,j) についての、ii 階から jj 階へ行くときのエレベーターに乗る回数の最小値の合計を求めてください。

制約

  • 2S1052 \leq |S| \leq 10^5
  • SiS_iU または D である
  • S1S_1U である
  • SSS_{|S|}D である

入力

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

S1S2...SSS_1S_2...S_{|S|}

出力

全ての階の順序対 (i,j)(i,j) についての、ii 階から jj 階へ行くときのエレベーターに乗る回数の最小値の合計を出力せよ。

UUD
7

11 階から 22 階までは、11 回エレベーターに乗れば行くことができます。

11 階から 33 階までは、11 回エレベーターに乗れば行くことができます。

22 階から 11 階までは、22 回エレベーターに乗れば行くことができます。

22 階から 33 階までは、11 回エレベーターに乗れば行くことができます。

33 階から 11 階までは、11 回エレベーターに乗れば行くことができます。

33 階から 22 階までは、11 回エレベーターに乗れば行くことができます。

これらの合計は 77 なので、77 を出力します。

UUDUUDUD
77