#P16174. [Ncpc2023]缠绕Intertwined

[Ncpc2023]缠绕Intertwined

题目描述

NCPC(Nordic Cargo Plane Control)正在测试一种新的货机发动机。为此,他们把一根结实且无限细的绳子一端固定在测试平台中心,另一端固定在发动机上。

在测试平台上建立坐标系,使绳子固定点位于原点,并沿着 xx 轴正方向铺到 (d,0)(d,0),其中 dd 是绳长。平台上还有若干根无限细的柱子。柱子会挡住绳子,但不会挡住发动机。

发动机启动后,绳子开始绕原点逆时针旋转,直到碰到一根柱子。此时绳子被该柱子挂住,并开始绕这根柱子逆时针旋转。因为有一段绳子被固定在原点和这根柱子之间,发动机继续旋转时的半径会变小。这个过程不断进行,直到剩余绳长无法再够到任何其他柱子。

进行这些测试、购买无限细绳子、布置无限细柱子都很昂贵。而且工人还会被这些无限细物体割出纸片般的伤口。因此,更经济的做法是直接模拟这一过程。

输入格式

第一行包含两个整数 n,dn,d,分别表示柱子数量和绳长。

接下来 nn 行,每行包含两个整数 xi,yix_i,y_i,表示第 ii 根柱子的坐标。所有柱子都不在初始绳子上。

$$1\le n\le 10^5,\qquad 1\le d\le 10^9,\qquad -10^9\le x_i,y_i\le 10^9$$

输出格式

输出一行一个整数 ii,表示最终绳子会绕输入中的第 ii 根柱子旋转。注意柱子编号从 11 开始。

如果绳子不会碰到任何柱子,则输出 1-1。保证将输入中的 dd 改变至多 ±106\pm 10^{-6} 不会改变答案 ii

输入输出样例 #1

输入 #1

5 200
4 4
4 -4
3 1
-4 4
-4 -4

输出 #1

1