https://www.acmicpc.net/problem/12018
그 이외에는 문제 조건에 따라 정렬을 통해 구현하였다.
n,m=map(int,input().split())
result=[]
for k in range(n):
p,l=map(int,input().split())
mil=list(map(int,input().split()))
mil.sort(reverse=True)
if p<l:
result.append(1)
else:
result.append(mil[l-1])
result.sort()
print(result)
cnt=0
for i in result:
m-=i
cnt+=1
if m<0:
print(cnt-1)
break
if m>0:
print(cnt)