P2983 [USACO10FEB] Chocolate Buying S

题目描述

Bessie 和牛群都非常喜欢巧克力,所以农夫约翰打算为它们购买一些。 牛巧克力商店提供 $N$ 种巧克力($1 \le N \le 100,000$),每种巧克力的数量基本上是无限的。每种巧克力 $i$ 的单价为 $P_i$($1 \le P_i \le 10^{18}$),并且有 $C_i$($1 \le C_i \le 10^{18}$)头牛想要这种巧克力。 农夫约翰有一个预算 $B$($1 \le B \le 10^{18}$),他可以用来为牛群购买巧克力。他最多能满足多少头牛?所有的牛只想要一种巧克力,并且只会对这种巧克力感到满意。 考虑一个例子,假设农夫约翰有 $50$ 元可以花在 $5$ 种不同的巧克力上。总共有 11 头牛对各种巧克力有不同的偏好: | 巧克力类型 | 每块巧克力的价格 | 喜欢这种类型的牛数量 | |:-----------:|:-----------:|:-----------:| | $1$ | $5$ | $3$ | | $2$ | $1$ | $1$ | | $3$ | $10$ | $4$ | | $4$ | $7$ | $2$ | | $5$ | $60$ | $1$ | 显然,农夫约翰不能购买第 5 种巧克力,因为他没有足够的钱。即使它只花费 $50$,这也是一个不划算的购买,因为只有一头牛会感到满意。 从价格较低的巧克力开始,他可以购买 1 块第 2 种巧克力,花费 $1 \times 1$,剩下 $50-1=49$;然后购买 3 块第 1 种巧克力,花费 $3 \times 5$,剩下 $49-15=34$;然后购买 2 块第 4 种巧克力,花费 $2 \times 7$,剩下 $34-14=20$;最后购买 2 块第 3 种巧克力,花费 $2 \times 10$,剩下 $20-20=0$。 这样,他就能满足 $1 + 3 + 2 + 2 = 8$ 头牛。

输入格式

第 1 行:两个用空格分隔的整数:$N$ 和 $B$。 第 $2\ldots N+1$ 行:第 $i$ 行包含两个用空格分隔的整数,定义巧克力类型 $i$:$P_i$ 和 $C_i$。

输出格式

第 1 行:一个整数,表示农夫约翰最多能满足的牛的数量。

说明/提示

(由 ChatGPT 4o 翻译)