python 代码
n,m = map(int,input().split())
a = [0] + list(map(int,input().split()))
l = 1
r = n
def check(mid):
s = a[1:mid + 1]
s = sorted(s,reverse = True)
s = [0] + s
SUM = 0
i = 1
for i in range(1,mid + 1,2):
SUM = SUM + s[i]
if SUM <= m:
return True
else:
return False
while l < r:
mid = (l + r + 1) // 2
if check(mid):
l = mid
else:
r = mid - 1
print(r)