메모리 제한이 12MB로 어마어마하게 작다.
문제에서 "채워진 수에는 한 가지 특징이 있는데, 모든 수는 자신의 한 칸 위에 있는 수보다 크다"는 조건이 있어서 저 표를 90 도 돌리고 정렬해서 우선 순위큐에 넣어서 풀면 되겠다 라고 생각했는데 메모리 제한이 턱없이 작다.
이 문제는 콘센트 문제처럼 5개가 넘어가면 6번째 큰수는 버리는 것이 문제 풀이의 핵심이다.
나머지는 우선순위큐의 기본과 똑같아서 뒤집을 필요도 없이 이 문제를 풀 수 있다.
import sys
import heapq
input = sys.stdin.readline
n = int(input())
lst = []
for i in range(n):
lst.append(list(map(int, input().split())))
result = []
for i in lst:
for j in i:
# minHeap
heapq.heappush(result, j)
# 5개가 넘어가면 젤 작은 수부터 버려!
if len(result) > n:
heapq.heappop(result)
# 가장 작은 수부터 5개 있으니 가장 작은수 출력
print(result[0])