반응형
사용시간과 마감시간을 리스트에 입력받아서, 마감시간 기준으로 오름차순 정렬을 해준다.
해당 마감시간 이전에 해당하는 사용시간들을 모두 더해서 마감시간보다 큰지 비교하고, 크다면 -1을 반환하고 프로그램을 종료한다.
그렇지 않다면, 마감시간에서 사용시간을 빼서 최소값에 저장한다.
최소값을 출력한다.
n=int(input())
m=float('inf')
l=[]
for _ in range(n):
t,s=map(int,input().split())
l.append([t,s])
l.sort(key=lambda x:x[1])
for x in range(len(l)):
S=l[x][0]
for y in range(x):
S+=l[y][0]
if l[x][1]<S:
print(-1)
exit()
else:
m=min(m,l[x][1]-S)
print(m)
반응형