practivceAlgorithm/백준

[백준][Python] 6068 시간관리하기

findTheValue 2021. 8. 19. 15:18

각 업무의 limit마다 누적 시간 합과 limit을 비교해주면서 최솟값을 가져가면 된다.

limit을 초과하면 즉시종료

 

import sys
input = sys.stdin.readline

N = int(input())
works =  [list(map(int, input().split())) for _ in range(N)]
works = sorted(works,key = lambda x: x[1])
total_time = 0
min_rest = float('inf')
for time, limit in works:
    total_time += time
    min_rest = min(min_rest, limit-total_time)
    if limit < total_time:
        print(-1)
        exit()
print(min_rest)