共有 N 头奶牛(1 ≤ N ≤ 20,000),每头奶牛有自己的高度 Hi(1 ≤ Hi ≤ 10,000),N 头奶牛的总高度为 S。书架高度为B(1 ≤ B ≤ S < 2,000,000,007).
为了帮助John到达书架顶层,找出使用奶牛数目最少的解决方案。
输入格式
第 1 行:空格隔开的整数 N 和 B;
第 2 ~ N+1 行:第 i+1 行为整数 Hi
输出格式
能达到书架高度所使用奶牛的最少数目。
因为不会贪心,所以自己写了个代码,测试样例没问题,但其它测试有问题。自己改了很多次,还是没有找到主要问题,不知道怎么去修改。请高人指点,如能附上代码更好
t,b = map(int,input().split())
ls = []
cot = 0
s = 0
for i in range(t):
n = int(input())
ls.append(n)
m = max(ls)
cot+=m #相加最大值,并删除,继续循环
ls.remove(m)
if cot<=b:
s +=1
if cot>=b:#直到达到高度,输出
print(s)