https://www.acmicpc.net/problem/2437
1. 코드
n, a = int(input()), list(map(int, input().split()))
a.sort() # 무게 오름차순 정렬
sum = 0 # 최저 무게
for i in a:
if i <= sum+1: # 추의 무게가 지금까지 더한 무게보다 커버릴경우
sum +=i
else:
break
print(sum+1) #합계
2. 아이디어
규칙을 찾기 힘들지만, 추는 무조건 무게가 1이 있어야 순서대로 가능하다.
없다면 바로 최소무게가 나올것이다. 수학적인 사고를 하자