atcoder#ABC263H. [ABC263Ex] Intersection 2

[ABC263Ex] Intersection 2

配点 : 600600

問題文

22 次元平面上に NN 本の直線があります。ii 本目の直線は Aix+Biy+Ci=0A_i x + B_i y + C_i = 0 です。どの 22 本の直線も平行でないことが保証されます。

これらの直線の交点は、重複ありで N(N1)2\frac{N(N-1)}{2} 個ありますが、このうち原点から KK 番目に近い点の原点との距離を出力してください。

制約

  • 2N5×1042 \le N \le 5 \times 10^4
  • 1KN(N1)21 \le K \le \frac{N(N-1)}{2}
  • $-1000 \le |A_i|,|B_i|,|C_i| \le 1000(1 \le i \le N)$
  • どの 22 本の直線も平行でない。
  • Ai0A_i \neq 0 または Bi0(1iN)B_i \neq 0(1 \le i \le N)
  • 入力は全て整数。

入力

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

NN KK

A1A_1 B1B_1 C1C_1

A2A_2 B2B_2 C2C_2

\vdots

ANA_N BNB_N CNC_N

出力

答えを表す数値を出力せよ。

なお、想定解答との絶対誤差または相対誤差が 10410^{-4} 以下であれば正解として扱われる。

3 2
1 1 1
2 1 -3
1 -1 2
2.3570226040

ii 本目の直線を直線 ii ということとします。

  • 直線 11 と直線 22 の交点は (4,5)(4,-5) であり、原点との距離は 416.4031242374\sqrt{41} \simeq 6.4031242374 です。
  • 直線 11 と直線 33 の交点は (32,12)(\frac{-3}{2},\frac{1}{2}) であり、原点との距離は 1021.5811388300\frac{\sqrt{10}}{2} \simeq 1.5811388300 です。
  • 直線 22 と直線 33 の交点は (13,73)(\frac{1}{3},\frac{7}{3}) であり、原点との距離は 5232.3570226040\frac{5\sqrt{2}}{3} \simeq 2.3570226040 です。

よって、22 番目に原点に近い点は (13,73)(\frac{1}{3},\frac{7}{3}) であり、出力する値は 523\frac{5\sqrt{2}}{3} です。

6 7
5 1 9
4 4 -3
8 -1 2
0 1 -8
4 0 -4
2 -3 0
4.0126752298