Programming/백준

백준 31962 - 등교 (파이썬)

pental 2025. 3. 26. 04:00

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

풀이

학생 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)