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

Baekjoon Online JudgeBaekjoon Online Judgewww.acmicpc.net
수업들 정렬하고
큐에는 수업 끝나는 시간 저장해서
수업 끝난 강의실에 수업이 들어갈 수 있으면 끝나는 시간 바꿔주고
아니면 수업 끝나는 시간 추가하는 식으로 풀었거든
근데 처음에 정렬할때 끝나는시간, 시작하는시간으로 하니까 죽어라 안되더라고(주석처리된 부분)
그냥 시작하는시간 순으로 정렬하니까 맞았음
아무리 해도 반례 못 찾겠고 논리적으로도 맞는거 같아서 왜 틀렸는지 모르겠음ㅜ

import heapq

n = int(input())
classes = [tuple(map(int, input().split())) for _ in range(n)]
classes.sort()
# classes.sort(key=lambda x : (x[1], x[0]))

ends = [classes[0][1]]

for i in range(1, n) :
    start, end = classes[i]
    if start >= ends[0] :
        heapq.heappop(ends)
    heapq.heappush(ends, end)
    
print(len(ends))