Cross Sum

题意翻译

### 题目描述 给定平面直角坐标系上的 $n$ 条两两不重合的直线。定义**可重**点集 $\mathcal{I}$,其包含 $n$ 条直线两两的交点。如果某个点作为交点出现了多次,其在 $\mathcal{I}$ 中也会出现多次。 给出一个询问点 $(p,q)$ ,定义可重数集 $\mathcal{D}$,其包含 $\mathcal{I}$ 中的所有点与 $(p,q)$ 的欧几里得距离,如果某个数出现了多次其在 $\mathcal{D}$ 中也会出现多次。 现在给出 $n$ 条直线与询问点,请求出 $\mathcal{D}$ 中前 $m$ 小的数的和,相同的数需要计算多次。 ### 输入格式 第一行一个整数 $n$ 表示直线数量; 第二行三个整数 $x,y,m$,询问点为 $(\frac{x}{1000} , \frac{y}{1000})$,$m$ 意义如上所述; 接下来 $n$ 行每行两个整数 $a_i,b_i$ 表示一条直线 $y = \frac{a_i}{1000}x + \frac{b_i}{1000}$。 ### 输出格式 一行一个浮点数表示答案,相对或绝对误差不超过 $10^{-6}$ 时认为正确。 ### 数据范围 $2 \leq n \leq 5 \times 10^4$,$0 \leq |x|,|y|,|a_i|,|b_i| \leq 10^6$,$1 \leq m \leq \min\{3 \times 10^7 , |\mathcal{D}|\}$,$\forall i \neq j, (a_i,b_i) \neq (a_j,b_j)$。

题目描述

Genos has been given $ n $ distinct lines on the Cartesian plane. Let ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/828bd1f150735aa8c65c79525d1418ab3058d668.png) be a list of intersection points of these lines. A single point might appear multiple times in this list if it is the intersection of multiple pairs of lines. The order of the list does not matter. Given a query point $ (p,q) $ , let ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/887c79cacd151e1b1341a67c48b05ad1977a6a94.png) be the corresponding list of distances of all points in ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/828bd1f150735aa8c65c79525d1418ab3058d668.png) to the query point. Distance here refers to euclidean distance. As a refresher, the euclidean distance between two points $ (x_{1},y_{1}) $ and $ (x_{2},y_{2}) $ is ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/86b2aa253cbc7f8f2ad97ad58bb4a22991d5ff81.png). Genos is given a point $ (p,q) $ and a positive integer $ m $ . He is asked to find the sum of the $ m $ smallest elements in ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/887c79cacd151e1b1341a67c48b05ad1977a6a94.png). Duplicate elements in ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/887c79cacd151e1b1341a67c48b05ad1977a6a94.png) are treated as separate elements. Genos is intimidated by Div1 E problems so he asked for your help.

输入输出格式

输入格式


The first line of the input contains a single integer $ n $ ( $ 2<=n<=50000 $ ) — the number of lines. The second line contains three integers $ x $ , $ y $ and $ m $ ( $ |x|,|y|<=1000000 $ , ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/8201e41b76d5859818b53fa92521eb060190c840.png)) — the encoded coordinates of the query point and the integer $ m $ from the statement above. The query point $ (p,q) $ is obtained as ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/ab5ed9d2a6b0c9e268daea47ead56f0338fbfe18.png). In other words, divide $ x $ and $ y $ by $ 1000 $ to get the actual query point. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/10e260f8817511999fbd109fdb87fbea4e756803.png) denotes the length of the list ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/887c79cacd151e1b1341a67c48b05ad1977a6a94.png) and it is guaranteed that ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/ee6d034e06de3830b228a5cd59532bc52e9dfb32.png). Each of the next $ n $ lines contains two integers $ a_{i} $ and $ b_{i} $ ( $ |a_{i}|,|b_{i}|<=1000000 $ ) — the parameters for a line of the form: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/ea08f1eff68d58992a22c15cbd8926ac7afc12c5.png). It is guaranteed that no two lines are the same, that is $ (a_{i},b_{i})≠(a_{j},b_{j}) $ if $ i≠j $ .

输出格式


Print a single real number, the sum of $ m $ smallest elements of ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/887c79cacd151e1b1341a67c48b05ad1977a6a94.png). Your answer will be considered correct if its absolute or relative error does not exceed $ 10^{-6} $ . To clarify, let's assume that your answer is $ a $ and the answer of the jury is $ b $ . The checker program will consider your answer correct if ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/c5d4f85807f95b08a3db7aae534822038a5bf1df.png).

输入输出样例

输入样例 #1

4
1000 1000 3
1000 0
-1000 0
0 5000
0 -5000

输出样例 #1

14.282170363

输入样例 #2

2
-1000000 -1000000 1
1000000 -1000000
999999 1000000

输出样例 #2

2000001000.999999500

输入样例 #3

3
-1000 1000 3
1000 0
-1000 2000
2000 -1000

输出样例 #3

6.000000000

输入样例 #4

5
-303667 189976 10
-638 116487
-581 44337
1231 -756844
1427 -44097
8271 -838417

输出样例 #4

12953.274911829

说明

In the first sample, the three closest points have distances ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/03e1c4be79c9981c15945694583ed8d2e2085b66.png) and ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/d62dafca248b736710e5c1ac832c2ae727a7ca37.png). In the second sample, the two lines $ y=1000x-1000 $ and ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/faf029c89031cc072ce6f3860dca6bca047834e2.png) intersect at $ (2000000,1999999000) $ . This point has a distance of ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/e834978c95cd4c06fee17dcf9f08db5c1d7a9312.png) from $ (-1000,-1000) $ . In the third sample, the three lines all intersect at the point $ (1,1) $ . This intersection point is present three times in ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF607E/828bd1f150735aa8c65c79525d1418ab3058d668.png) since it is the intersection of three pairs of lines. Since the distance between the intersection point and the query point is $ 2 $ , the answer is three times that or $ 6 $ .