[백준/파이썬] 12018 연세토토

bye9·2021년 2월 2일
0

알고리즘(코테)

목록 보기
42/130

https://www.acmicpc.net/problem/12018


알고리즘 분류

  • 그리디

문제풀이

  1. 신청인원보다 수강인원이 많을 경우, 마일리지 1만큼 할당
  2. 성준이의 마일리지가 모든 과목을 다 수강하고도 남는 경우 생각!

그 이외에는 문제 조건에 따라 정렬을 통해 구현하였다.

소스코드

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)

0개의 댓글