이 문제는 그리디 알고리즘을 이용해야했는데, 이해하기 무척이나 어려웠다.
문제를 풀기 앞서 알려줄 꿀팁이 하나 있다.
바로...
" 1 ~ a-1원까지의 금액을 만들 수 있는 상황일 때,
a가 새로 들어온 X보다 작으면 a원은 만들 수 없다 "
위 내용을 암기하면, 앞으로 그리디 알고리즘 문제를 풀 때 도움이 될 것이다!
<정답>
import sys
n = int(sys.stdin.readline())
chu = list(map(int, sys.stdin.readline().split()))
chu.sort()
num=0
for i in range(n):
if num+1 < chu[i]:
break
num += chu[i]
print(num + 1)