π Problem Solving/Baekjoon
import sys
import heapq
input = sys.stdin.readline
answer = []
for _ in range(int(input())):
visited = [False] * 1000001
minH, maxH = [], []
for i in range(int(input())):
s = input().split()
if s[0] == "I":
heapq.heappush(minH, (int(s[1]), i))
heapq.heappush(maxH, (-int(s[1]), i))
visited[i] = True
elif s[1] == "1":
while maxH and not visited[maxH[0][1]]:
heapq.heappop(maxH)
if maxH:
visited[maxH[0][1]] = False
heapq.heappop(maxH)
else:
while minH and not visited[minH[0][1]]:
heapq.heappop(minH)
if minH:
visited[minH[0][1]] = False
heapq.heappop(minH)
while minH and not visited[minH[0][1]]:
heapq.heappop(minH)
while maxH and not visited[maxH[0][1]]:
heapq.heappop(maxH)
answer.append(f"{-maxH[0][0]} {minH[0][0]}" if maxH and minH else "EMPTY")
print("\n".join(answer))
ν΄μ€
νμ΄μ¬μμ νμ μ΅μνλ§ μ§μνκΈ° λλ¬Έμ μ΅λνλ λ°λ‘ ꡬνμ ν΄μ€μΌνλ€. μ΄ λΆλΆμ -1μ κ³±ν΄μ£Όλ κ²μΌλ‘ ν΄κ²°ν μ μλ€. μ΄μ μ΅μνκ³Ό μ΅λνμ λκΈ°νκ° νμνλ€. μ΄λ μΈλ±μ€λ₯Ό νμ©ν΄ ν΄κ²°ν μ μλ€. κ°κ³Ό μΈλ±μ€λ₯Ό ννλ‘ λ¦¬μ€νΈμ λ£μ΄μ€λ€. μΈλ±μ€λ₯Ό κΈ°μ€μΌλ‘ ν΄λΉ λ Έλκ° λ€λ₯Έ νμμ μμ λ λ ΈλμΈμ§ μλμ§λ₯Ό νλ¨νκ³ , μ΄λ―Έ μμ λ λ ΈλλΌλ©΄ μμ λμ§ μμ λ Έλκ° λμ¬ λκΉμ§ λͺ¨λ λ²λ¦°λ€. μμ λμ λ Έλκ° λ±μ₯νλ©΄ μμ νλ€. μ΄λ₯Ό μν΄ κ° μΈλ±μ€λ³λ‘ νμ±μνλ₯Ό κΈ°λ‘νλ νλκ·Έ 리μ€νΈ visitedλ₯Ό μ¬μ©νλ€.
μ°μ°μ΄ λͺ¨λ λλ νμλ μ°λ κΈ° λ Έλλ€μ΄ λ¨μμμ μ μλ€. μ΄ λλ¬Έμ, κ²°κ³Όλ₯Ό λ΄κΈ° μ μ°λ κΈ° λ Έλλ₯Ό λͺ¨λ λΉμ°κ³ κ° νμ 첫λ²μ§Έ κ°μ μΆλ ₯νλ€.
λ무 μ΄λ €μ΄ λ¬Έμ μλ€........π₯
'π Problem Solving > Baekjoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€-11726] 2xn νμΌλ§ / Python (0) | 2021.05.30 |
---|---|
[λ°±μ€-9019] DSLR / Python (0) | 2021.05.29 |
[λ°±μ€-5430] AC / Python (0) | 2021.05.29 |
[λ°±μ€-1107] 리λͺ¨μ»¨ / Python (0) | 2021.05.28 |
[λ°±μ€-18870] μ’ν μμΆ / Python (0) | 2021.05.28 |