P15699 [2018 KAIST RUN Spring] Touch The Sky

题目描述

:::align{center} ![](https://cdn.luogu.com.cn/upload/image_hosting/mjqsof2z.png) 图:房子通过气球漂浮在空中。此图片也用于 2018 年 KAIST RUN 春季竞赛的海报。 ::: 在 2117 年,Jaemin Yu 教授为 TSP(旅行商问题)开发了一种线性时间算法。不久之后,所有计算机系统都被摧毁,核武器夷平了所有土地。你,一位伟大的计算机专家,也失去了工作。带着巨大的绝望,你早已失去了生命的意义。那些曾让你心跳加速的事物——它们都去了哪里?在反复追问自己之后,你的结论是…… “如果我回到我首次参加 ICPC 的 KAIST,我能找到生命的意义吗?” 所有的交通工具都被摧毁了,但你曾是一名狂热的 ICPC 参赛者,在韩国区域赛中收集了大量百年历史的气球。如果你能用其中一些气球让房子飘起来…… 目前你拥有 $N$ 个气球,你正试图通过将气球系在屋顶上来让房子升空。每个气球都有一个海拔限制 $L_i$ 和容量 $D_i$,这表示你最多只能在海拔 $L_i$ 处吹胀气球,并且气球在海拔升高 $D_i$ 后会爆炸。 你的旅程从海拔 $0$ 开始。如果你同时吹胀多个气球,房子会上升得太快。因此,你将吹胀一个气球并将其系在屋顶上,升高海拔直到气球爆炸,然后吹胀另一个气球并系上以继续升高海拔……以此让你的房子漂浮起来。为了方便起见,你可以假设**气球只能增加海拔**。 你并不关心最终的海拔,但一个气球只能移动固定的距离。因此,你希望让尽可能多的气球爆炸。你需要计算最多能让多少个气球爆炸,并检查是否能完成前往 KAIST 的旅程。让我们看看你百年 ICPC 的经验是否能帮助解决这个问题!

输入格式

第一行包含一个整数 $N$,表示气球的数量。 接下来的 $N$ 行,每行给出两个由空格分隔的整数,分别表示第 $i$ 个气球的**海拔限制** $L_i$ 和**容量** $D_i$。

输出格式

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

说明/提示

### 数据范围 - $1 \le N \le 250,000$ - $0 \le L_i \le 10^{15}$ - $1 \le D_i \le 10^9$ 翻译由 DeepSeek V3.2 完成