100 #lg2983. 【贪心】[USACO10FEB] Chocolate Buying S

【贪心】[USACO10FEB] Chocolate Buying S

P2983 [USACO10FEB] Chocolate Buying S

题目描述

Bessie 和牛群都非常喜欢巧克力,所以农夫约翰打算为它们购买一些。

牛巧克力商店提供 NN 种巧克力(1≤N≤100,0001 \le N \le 100,000),每种巧克力的数量基本上是无限的。每种巧克力 ii 的单价为 PiP_i(1≤Pi≤10181 \le P_i \le 10^{18}),并且有 CiC_i(1≤Ci≤10181 \le C_i \le 10^{18})头牛想要这种巧克力。

农夫约翰有一个预算 BB(1≤B≤10181 \le B \le 10^{18}),他可以用来为牛群购买巧克力。他最多能满足多少头牛?所有的牛只想要一种巧克力,并且只会对这种巧克力感到满意。

考虑一个例子,假设农夫约翰有 5050 元可以花在 55 种不同的巧克力上。总共有 11 头牛对各种巧克力有不同的偏好:

巧克力类型 每块巧克力的价格 喜欢这种类型的牛数量
11 55 33
22 11
33 1010 44
44 77 22
55 6060 11

显然,农夫约翰不能购买第 5 种巧克力,因为他没有足够的钱。即使它只花费 5050,这也是一个不划算的购买,因为只有一头牛会感到满意。

从价格较低的巧克力开始,他可以购买 1 块第 2 种巧克力,花费 1×11 \times 1,剩下 50−1=4950-1=49;然后购买 3 块第 1 种巧克力,花费 3×53 \times 5,剩下 49−15=3449-15=34;然后购买 2 块第 4 种巧克力,花费 2×72 \times 7,剩下 34−14=2034-14=20;最后购买 2 块第 3 种巧克力,花费 2×102 \times 10,剩下 20−20=020-20=0。

这样,他就能满足 1+3+2+2=81 + 3 + 2 + 2 = 8 头牛。

输入格式

第 1 行:两个用空格分隔的整数:NN 和 BB。

第 2…N+12\ldots N+1 行:第 ii 行包含两个用空格分隔的整数,定义巧克力类型 ii:PiP_i 和 CiC_i。

输出格式

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

输入输出样例 #1

输入 #1

5 50 
5 3 
1 1 
10 4 
7 2 
60 1 

输出 #1

8 

说明/提示

(由 ChatGPT 4o 翻译)