luogu#P4479. [BJWC2018] 第k大斜率

    ID: 8506 远端评测题 1000ms 250MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>2018树状数组离散化北京概率论统计

[BJWC2018] 第k大斜率

题目描述

在平面直角坐标系上,有 nn 个不同的点。任意两个不同的点确定了一条直线。请求出所有斜率存在的直线按斜率从大到小排序后,第 kk 条直线的斜率为多少。

为了避免精度误差,请输出斜率向下取整后的结果。(例如:1.5=1\lfloor 1.5 \rfloor = 11.5=2\lfloor -1.5 \rfloor = -2)。

输入格式

第一行,包含两个正整数 nnkk
接下来 nn 行,每行包含两个整数 xi,yix_i, y_i,表示每个点的横纵坐标。

输出格式

输出一行,包含一个整数,表示第 kk 大的斜率向下取整的结果。

4 1
-1 -1
2 1
3 3
1 4
2

提示

【样例说明】

符合要求的直线的斜率分别为 3,12,23,1,2,52-3, -\frac{1}{2}, \frac{2}{3}, 1, 2, \frac{5}{2}

【数据规模和约定】

MM 为所有斜率存在的直线的数量 。

对于 10%10 \% 的数据,1n101 \le n \le 10
对于 20%20 \% 的数据,1n1001 \le n \le 100xi,yi103|x_i|, |y_i| \le {10}^3
对于 30%30 \% 的数据,1n10001 \le n \le 1000
对于 40%40 \% 的数据,1n50001 ≤ n ≤ 5000
对于另 20%20 \% 的数据,满足 k=1k = 1
对于另 20%20 \% 的数据,满足 1xi,yi1031 \le x_i, y_i \le {10}^3
对于 100%100 \% 的数据,1n1000001 \le n \le 1000001kM1 \le k \le Mxi,yi108|x_i|, |y_i| \le {10}^8