#Y1135. 羊羊市场

羊羊市场

羊羊市场

题目背景

在遥远的古代,有一个聪明的少年名叫“噜噜”。噜噜生活在一个广袤的草原上,他最亲密的伙伴是一只充满智慧、会说话的“一只羊”。有一天,一只羊对噜噜说:“我们的羊群数量太少了,你需要去山那边的集市上购买一些新的小羊,让我们的家族壮大起来。这是我毕生的积蓄,你一定要精打细算,尽可能多地买回小羊哦!” 噜噜带着钱和期望,来到了热闹非凡的羊羊市场。市场上的每一只羊都有自己的标价,噜噜想知道,用他现有的钱,最多能买回来多少只羊。

问题描述

给定噜噜拥有的总钱数 M 和市场上 N 只羊各自的价格。请你计算,噜噜最多能买多少只羊。

输入格式

输入共两行。

第一行包含两个正整数 NM,分别表示市场上羊的数量和噜噜拥有的总钱数。

第二行包含 N 个正整数 p1,p2,,pNp_1, p_2, \dots, p_N,表示每只羊的价格。

输出格式

输出一个整数,表示噜噜最多能买到的羊的数量。

样例输入与输出

样例输入 1

5 10
5 4 2 8 3

样例输出 1

3

样例 1 解释

市场上有 5 只羊,价格分别为 5, 4, 2, 8, 3。噜噜有 10 元钱。 为了买到尽可能多的羊,应该优先选择价格最低的。 价格从低到高排序为:2, 3, 4, 5, 8。

  1. 买下价格为 2 的羊,剩余钱数 10 - 2 = 8。
  2. 买下价格为 3 的羊,剩余钱数 8 - 3 = 5。
  3. 买下价格为 4 的羊,剩余钱数 5 - 4 = 1。 此时剩余 1 元,不够买任何一只剩下的羊了。 因此,噜噜最多能买 3 只羊。

数据规模与约定

  • 对于20% 的数据:1N201 \le N \le 20, 1M10001 \le M \le 1000, 1pi1001 \le p_i \le 100
  • 对于另外30% 的数据:1N20001 \le N \le 2000, 1M1091 \le M \le 10^9, 1pi1051 \le p_i \le 10^5
  • 对于最后的50% 的数据:1N2×1051 \le N \le 2 \times 10^5, 1M10181 \le M \le 10^{18}, 1pi1091 \le p_i \le 10^9

所有数据,保证 pip_i 为正整数。