#ddcc2019finala. [ddcc2019_final_a]レース (Race)

[ddcc2019_final_a]レース (Race)

配点: 300300

問題文

高橋君はペンギンのレース場を作りました。

レース場は NN 個の正方形のマスが西から東に一列に並んだ形状をしています。
これらのマスの状態は文字列 SS により表され、西から ii 番目のマスの状態は SSii 文字目が - なら「雪」、> なら「氷」です。
また、スタート地点は西端のマスの西の端、ゴール地点は東端のマスの東の端です。

高橋くんのペンギンが、スタート地点からゴール地点を目指して東に進みます。
ペンギンは、雪マスを 11 マス通過するのに 11 秒、氷マスを 11 マス通過するのに 1/(k+2)1/(k+2) 秒の時間を要します。
ここで、kk はその氷マスの直前に連続して存在する氷マスの個数です。
例えば、雪マスの直後に氷マスが 22 つ存在する場合、11 つ目の氷マスは 1/21/2 秒、22 つ目の氷マスは 1/31/3 秒で通過します。

ペンギンがスタートする前に、高橋君は雪マスのうち 11 つを氷マスに変えることができます。
ペンギンがスタート地点を出発してからゴール地点に到達するまでに最小で何秒かかるでしょうか?

制約

  • 3leqNleq1000003 \\leq N \\leq 100 \\ 000
  • SS-, > で構成される長さ NN の文字列
  • S1=S2=SN1=SN=S_1 = S_2 = S_{N-1} = S_N = -
  • SS において、- は必ず別の - と隣接して現れる

入力

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

NN SS

出力

ペンギンがゴール地点に到達するのに要する秒数の最小値を出力せよ。
ジャッジの出力との相対誤差または絶対誤差が 10810^{-8} 以下であれば正解となる。


入力例 1

5
-->--

出力例 1

3.83333333333333

西から 44 番目のマスを雪マスから氷マスに変えると、レース場は -->>- となります。
このとき、ペンギンは西から 1,2,3,4,51, 2, 3, 4, 5 番目のマスの通過にそれぞれ 1,1,1/2,1/3,11, 1, 1/2, 1/3, 1 秒、合計で 23/6=3.83333333...23/6 = 3.83333333... 秒を要し、これが最短です。


入力例 2

7
-------

出力例 2

6.5

どのマスを雪マスから氷マスに変えても、ペンギンは 13/2=6.513/2 = 6.5 秒でゴールします。


入力例 3

10
-->>>-->--

出力例 3

6.78333333333333

西から 22 番目または 66 番目のマスを雪マスから氷マスに変えると、ペンギンは 407/60=6.783333333...407/60 = 6.783333333... 秒でゴールすることができます。