AT_cf17_final_d Zabuton
题目描述
某一年份的 CODE FESTIVAL 本赛聚集了 $N$ 名参赛者。参赛者 $i$ 的身高为 $H_i$,力量为 $P_i$。
Ringo 想让参赛者们进行一个堆“座布团”的游戏。
参赛者可以按照自己喜欢的顺序排队,轮到某个人时,他们会在一个地方堆“座布团”。最开始没有任何“座布团”。当轮到参赛者 $i$ 时,如果已经堆积的“座布团”数量不超过 $H_i$,他就会正好堆 $P_i$ 个“座布团”;否则,他会放弃,不堆任何“座布团”。
Ringo 希望尽可能让更多的参赛者参与堆“座布团”。通过巧妙安排参赛者的顺序,最多能有多少名参赛者参与堆“座布团”呢?
输入格式
输入以如下格式从标准输入读入。
> $N$ $H_1$ $P_1$ $H_2$ $P_2$ $\ldots$ $H_N$ $P_N$
输出格式
输出能够参与堆“座布团”的参赛者人数的最大值。
说明/提示
## 限制条件
- $1\leq N\leq 5000$
- $0\leq H_i\leq 10^9$
- $1\leq P_i\leq 10^9$
## 样例解释 1
如果按输入顺序排列参赛者,第 $1$、$3$ 位参赛者可以堆“座布团”。同时,不存在可以让 $3$ 位参赛者全部参与的顺序,因此答案是 $2$。
## 样例解释 2
如果按第 $2$ 位、第 $3$ 位、第 $1$ 位参赛者的顺序排列,则所有人都可以堆“座布团”。
由 ChatGPT 5 翻译