백준, 저울, 2473, 파이썬

2024. 9. 12. 01:00ETC/Algorithm

[유형]

그리디

 

[문제링크]

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

 

[요약]

첫째 줄에 주어진 추들로 측정할 수 없는 양의 정수 무게 중 최솟값을 출력한다.

 

[문제풀이]

연속성이 깨지는 부분을 찾으면 된다.

weights를 오름차순으로 정렬한다.

answer에 추의 무게를 하나씩 더한다. answer+1이 w보다 작다면 연속성이 깨진다는 의미이다.

import sys
import heapq
def input():
    return sys.stdin.readline().rstrip()

N = int(input())
weights = list(map(int, input().split()))
weights.sort()

answer = 0
for w in weights:
    if answer+1 < w:
        break
    answer += w
print(answer+1)