AT_abc334_f [ABC334F] Christmas Present 2
Description
[problemUrl]: https://atcoder.jp/contests/abc334/tasks/abc334_f
$ xy $ 平面として表される町があり、サンタさんと、$ 1 $ から $ N $ までの番号が付けられた $ N $ 人の子供が住んでいます。 サンタさんの家の座標は $ (S_X,S_Y) $ であり、子供 $ i\ (1\leq\ i\leq\ N) $ の家の座標は $ (X_i,Y_i) $ です。
サンタさんは、$ N $ 人の子供たちに**番号順に**プレゼントを $ 1 $ 個ずつ配りたいです。 子供 $ i $ にプレゼントを配るためには、プレゼントを $ 1 $ 個以上持った状態で子供 $ i $ の家に行く必要があります。 しかし、サンタさんは同時に $ K $ 個までしかプレゼントを持つことができず、プレゼントを補充するためには一旦自分の家に戻る必要があります(サンタさんの家には十分な数のプレゼントがあります)。
サンタさんが自分の家を出発し、$ N $ 人の子供たち全員にプレゼントを配って、自分の家まで戻ってくるために移動する距離の最小値を求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ S_X $ $ S_Y $ $ X_1 $ $ Y_1 $ $ X_2 $ $ Y_2 $ $ \vdots $ $ X_N $ $ Y_N $
Output Format
サンタさんが移動する距離の最小値を出力せよ。 出力は、真の値との絶対誤差または相対誤差が $ 10^{−6} $ 以下のとき正解と判定される。
Explanation/Hint
### 制約
- $ 1\leq\ K\leq\ N\ \leq\ 2\times\ 10^5 $
- $ -10^9\leq\ S_X,S_Y,X_i,Y_i\ \leq\ 10^9 $
- $ (S_X,S_Y)\neq\ (X_i,Y_i) $
- $ (X_i,Y_i)\neq\ (X_j,Y_j)\ (i\neq\ j) $
- 入力は全て整数
### Sample Explanation 1

上図において、赤い丸はサンタさんの家、中に数字が書かれた丸はその番号の子供の家を表しています。 サンタさんが以下のように行動することを考えます。 1. プレゼントを $ 2 $ 個持ってサンタさんの家を出る。 2. 子供 $ 1 $ の家に行ってプレゼントを $ 1 $ 個配る。 3. サンタさんの家に戻ってプレゼントを $ 1 $ 個補充する。 4. 子供 $ 2 $ の家に行ってプレゼントを $ 1 $ 個配る。 5. 子供 $ 3 $ の家に行ってプレゼントを $ 1 $ 個配る。 6. サンタさんの家に戻る。 このとき、サンタさんが移動する距離は $ 2+2+1+2+\sqrt{5}=7+\sqrt{5}=9.236\dots $ となり、これが最小です。