학생 N명이 학교 까지 가는데 S[i] 분이 걸리고, 등교 준비 시간으로 T[i]분이 필요하다.
등교 마감 시간 X분 전에 도착해야한다.
이때 등교 가능한 학생 중 등교 시간이 가장 오래 걸리는 학생의 등교 시간(S[i])를 구하는 문제이다.
단, 어떤 학생도 등교할 수 없다면 -1을 출력해야한다.
즉, 각 학생에 대해서 S[i] + T[i]의 값이 X 보다 작거나 같음을 만족하면, max_time을 업데이트 하는 방식으로 풀수 있다.
코드
# 백준 31962 - 등교
# 분류 : 구현
N, X = map(int, input().split())
S = [0] * N
T = [0] * N
for i in range(N) :
S[i], T[i] = map(int, input().split())
max_time = 0
for i in range(N) :
if S[i] + T[i] <= X :
max_time = max(max_time, S[i])
if max_time == 0 :
print(-1)
else :
print(max_time)