https://www.acmicpc.net/problem/2437
n = int(input())
weights = list(map(int, input().split()))
weights.sort() # 무게를 오름차순 정렬
total = 1 # 만들 수 있는 가장 작은 무게는 1부터 시작
for weight in weights:
if weight > total: # 현재 무게가 지금까지 만들 수 있는 무게를 초과한다면
break # 더 이상 연속된 무게를 만들 수 없음(=빈 공간이 생김)
total += weight # 현재 무게를 포함하여 연속된 무게의 범위 확장
# total은 결국 연속된 무게를 만들 수 있는 최대 크기(= 범위) + 1 인 셈
print(total) # 측정할 수 없는 가장 작은 무게 출력
'백준' 카테고리의 다른 글
백준 2116. 주사위 쌓기 (1) | 2024.11.21 |
---|---|
백준 2169. 로봇 조종하기 (0) | 2024.11.21 |
백준 15686. 치킨 배달 (0) | 2024.11.19 |
백준 17182. 우주 탐사선 (0) | 2024.11.17 |
백준 1083. 소트 (0) | 2024.11.16 |