#P15699. [2018 KAIST RUN Spring] Touch The Sky

[2018 KAIST RUN Spring] Touch The Sky

说明

:::align{center}

图:房子通过气球漂浮在空中。此图片也用于 2018 年 KAIST RUN 春季竞赛的海报。 :::

在 2117 年,Jaemin Yu 教授为 TSP(旅行商问题)开发了一种线性时间算法。不久之后,所有计算机系统都被摧毁,核武器夷平了所有土地。你,一位伟大的计算机专家,也失去了工作。带着巨大的绝望,你早已失去了生命的意义。那些曾让你心跳加速的事物——它们都去了哪里?在反复追问自己之后,你的结论是……

“如果我回到我首次参加 ICPC 的 KAIST,我能找到生命的意义吗?”

所有的交通工具都被摧毁了,但你曾是一名狂热的 ICPC 参赛者,在韩国区域赛中收集了大量百年历史的气球。如果你能用其中一些气球让房子飘起来……

目前你拥有 NN 个气球,你正试图通过将气球系在屋顶上来让房子升空。每个气球都有一个海拔限制 LiL_i 和容量 DiD_i,这表示你最多只能在海拔 LiL_i 处吹胀气球,并且气球在海拔升高 DiD_i 后会爆炸。

你的旅程从海拔 00 开始。如果你同时吹胀多个气球,房子会上升得太快。因此,你将吹胀一个气球并将其系在屋顶上,升高海拔直到气球爆炸,然后吹胀另一个气球并系上以继续升高海拔……以此让你的房子漂浮起来。为了方便起见,你可以假设气球只能增加海拔

你并不关心最终的海拔,但一个气球只能移动固定的距离。因此,你希望让尽可能多的气球爆炸。你需要计算最多能让多少个气球爆炸,并检查是否能完成前往 KAIST 的旅程。让我们看看你百年 ICPC 的经验是否能帮助解决这个问题!

输入格式

第一行包含一个整数 NN,表示气球的数量。

接下来的 NN 行,每行给出两个由空格分隔的整数,分别表示第 ii 个气球的海拔限制 LiL_i容量 DiD_i

输出格式

输出你能让气球爆炸的最大数量。

3
1 4
1 5
9 2
2
4
0 1
0 2
0 3
0 4
1

提示

数据范围

  • 1N250,0001 \le N \le 250,000
  • 0Li10150 \le L_i \le 10^{15}
  • 1Di1091 \le D_i \le 10^9

翻译由 DeepSeek V3.2 完成