CF249D Donkey and Stars

题目描述

傍晚时分,Donkey 会和 Shrek 一起观星。他们会坐在原木上,喝着茶仰望星空。星空悬挂在屋顶上方,恰好在烟囱后面。Shrek 的星星在烟囱的右边,Donkey 的星星则在烟囱的左边。大多数日子里,Donkey 只是数数星星,因此他知道总共有 $n$ 颗星星。这一次,他想要更有挑战性一些。他想象了一个坐标系:将坐标原点放在屋顶与烟囱的交点处,将 $OX$ 轴沿屋顶向左延伸,$OY$ 轴沿烟囱向上延伸(见下图)。Donkey 想象了两条从坐标原点出发且分别与 $OX$ 轴呈 $α_{1}$ 和 $α_{2}$ 角度的射线。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF249D/01e07f49112d306c9832b3ead8a5e8c0cfbcc93c.png) 现在他选择任意一颗严格位于这两条射线之间的星星。接着,他从这颗星星出发,以同样的 $α_{1}$ 和 $α_{2}$ 角度分别与 $OX$ 轴作两条射线,再选择一颗严格位于新射线之间的星星。他会重复以上操作,只要在新射线间还能选到星星为止。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF249D/87b736a4eb176865176dd95be306088882057bc0.png) 如此一来,Donkey 能得到一条星星链。如果严格按照上述规则,他可以依次到达每一颗星星。 你的任务是求出 Donkey 能得到的最大星星链的长度 $m$。 注意,链必须从坐标轴原点开始,但在计算 $m$ 时,不计原点。

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 10^{5}$),表示星星的数量。第二行包含两个简单分数,分别表示关系 “$a$/$b$ $c$/$d$”,其中: $0 \leq a, b, c, d \leq 10^{5}$; $b \neq 0$ 且 $d \neq 0$; $\frac{a}{b} < \frac{c}{d}$。 接下来 $n$ 行,每行包含两个整数 $x_{i}, y_{i}$($1 \leq x_{i}, y_{i} \leq 10^{5}$),表示每颗星星的坐标。 保证所有星星的坐标互不相同。

输出格式

输出一行一个整数 $m$,表示答案。

说明/提示

在样例中,Donkey 能构建的最长星星链由四颗星星组成。注意,Donkey 不能选择严格落在线上的星星。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF249D/9b10980b4f4e779f5c4c6a72105611e261a67332.png) 由 ChatGPT 5 翻译