购买玉米糖

测试数据来自 system/1281

作业已超过截止时间,您无法递交本题目。

时间限制:1秒  内存限制:256M


【题目描述】

  小H和其他伙伴们都喜欢玉米糖,所以H老师准备买一些送给他们。玉米糖专卖店里有 \(N\) 种玉米糖,每种玉米糖的数量都是无限多的。每个孩子只喜欢一种玉米糖,调查显示,有 \(C_i\) 个小朋友喜欢第 \(i\) 种玉米糖,这种玉米糖的售价是 \(P_i\)。
  H老师手上有 \(B\) 元预算,怎样用这些钱让尽量多的孩子高兴呢?

【输入格式】

  第 \(1\) 行是整数 \(N\) 和 \(B\),它们的意义如题目描述。
  第 \(2..N+1\) 行,第 \(i\) 行有两个整数,分别表示 \(P_i\) 和 \(C_i\),它们的意义如题目

【输出格式】

  一行一个整数,表示高兴孩子的最大数量。

【输入输出样例1】

 Input

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

 Output

8

【输入输出样例1解释】

  有 5 种玉米糖,它们的单价和喜欢小孩数如下:

  第 1 种玉米糖的 价格是 5 元,有 3 个小孩喜欢;
  第 2 种玉米糖的 价格是 1 元,有 1 个小孩喜欢;
  第 3 种玉米糖的 价格是 10 元,有 4 个小孩喜欢;
  第 4 种玉米糖的 价格是 7 元,有 2 个小孩喜欢;
  第 5 种玉米糖的 价格是 60 元,有 1 个小孩喜欢;

  H老师有的钱数是 50 元,他按如下方案买,可以满足 8 个小孩:

  第 1 种玉米糖买 3 颗,可以满足 3 个小孩,花去 3*5=15 元;
  第 2 种玉米糖买 1 颗,可以满足 1 个小孩,花去 1*1=1 元;
  第 3 种玉米糖买 2 颗,可以满足 2 个小孩,花去 2*10=20 元;
  第 4 种玉米糖买 2 颗,可以满足 2 个小孩,花去 2*7=14 元;

  H老师此时刚好用去 15+1+20+14=50 元,可以满足 3+1+2+2=8 个小孩!可以证明,这是最多的方案。

【输入输出样例2】

 Input

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

 Output

8

【输入输出样例2解释】

  H老师仍然按【样例1】的方案购买玉米糖,花去50元,剩下2元买不到任何玉米糖。所以还是只能满足 8 个小孩。

【数据限制】

  \(1 <= N <= 10^5\)
  \(1 <= B <= 10^{18}\)
  \(1 <= P_i <= 10^{18}\)
  \(1 <= C_i <= 10^{18}\)

【来源】

  Mr.he

贪心算法练习题(一)

未认领
状态
已结束
题目
11
开始时间
2024-01-18 00:00
截止时间
2024-03-01 23:59
可延期
24.0 小时