import sys
input=sys.stdin.readline
n=int(input())
arr=[]
for i in range(n):
d,t=map(int,input().split())
arr.append([d,t])
arr.sort(key=lambda arr:arr[1],reverse=True)
time=arr[0][1]
for i in range(1,n):##############
s=arr[i][0]
e=arr[i][1]
if time>=e:#다음 과제의 마감일이 시작일보다 이른 경우
time=e-s
else:#다음 과제의 마감일이 시작일보다 늦는 경우
time=time-s
print(time)
다음 과제를 고려해주어야 한다고 생각해 두번째 반복문에서 1부터 n까지 반복하도록 하였다.
그러나 이렇게 하면 첫번째 과제를 고려하지 못하므로 반복문을 0부터 n까지로 설정해주어야 한다.
import sys
input=sys.stdin.readline
n=int(input())
arr=[]
for i in range(n):
d,t=map(int,input().split())#소요일, 마감일
arr.append([d,t])
arr.sort(key=lambda arr:arr[1],reverse=True)#마감일 기준 내림차순 정렬
time=arr[0][1]#과제를 시작해야 하는 날
for i in range(n):
s=arr[i][0]
e=arr[i][1]
if time>=e:#마감일이 시작일보다 이른 경우
time=e-s
else:#마감일이 시작일보다 늦는 경우
time=time-s
print(time)
접근 방법