#codefestivalmorninghardd. [code_festival_morning_hard_d]Rail Tour
[code_festival_morning_hard_d]Rail Tour
問題文
無限に広がる 平面として表現される街があります。
現在、amylase さんは点 () におり、点 () に移動したいと考えています。
この街にはただ つの鉄道である陸道電鉄が存在しており、この鉄道は、 個の点 (), () () を順番に通る折れ線として表されます。この鉄道は途中で交差することはありません。
amylase さんは鉄道上の任意の地点で乗り降りすることができ、鉄道上では前後どちらの方向へも速度 で移動することができます。それ以外の場所では、速度 で移動することができます。
amylase さんが移動に必要とする最小の時間を求めてください。
入力
入力は以下の形式で与えられる。
- 行目には、鉄道を構成する点の数を表す整数 ()、鉄道上の移動速度を表す整数 ()、始点の座標を表す整数 () と、終点の座標を表す整数 () が与えられる。
- 続く 行には、鉄道を構成する各点の座標が与えられる。
- () は、鉄道を構成する 番目の点の座標が () であることを意味する。
- 与えられるすべての座標は整数である。
出力
始点から終点まで移動するために必要な最小の時間を 行で出力せよ。
絶対誤差と相対誤差のうち少なくとも片方が 以下ならば正解とみなされる。
最後は改行し、余計な文字、空行を含まないこと。
入力例1
2 2 -10 0 20 0
0 0
10 0
出力例1
25
入力例2
2 2 0 3 20 3
0 0
20 0
出力例2
15.1961524227
入力例3
2 2 0 3 10 3
0 0
10 0
出力例3
10
入力例4
4 3 -10 10 10 -20
0 10
0 0
-10 -10
10 -10
出力例4
33.5702260396
入力例5
4 3 -10 10 10 -20
0 10
0 0
-50 -10
10 -10
出力例5
34.9509379141