[Python] λ°±μ€ - 11279 μ΅λ ν
λ¬Έμ
https://www.acmicpc.net/problem/11279
πΉ λ¬Έμ
λ리 μ μλ €μ§ μλ£κ΅¬μ‘° μ€ μ΅λ νμ΄ μλ€. μ΅λ νμ μ΄μ©νμ¬ λ€μκ³Ό κ°μ μ°μ°μ μ§μνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
- λ°°μ΄μ μμ°μ xλ₯Ό λ£λλ€.
- λ°°μ΄μμ κ°μ₯ ν° κ°μ μΆλ ₯νκ³ , κ·Έ κ°μ λ°°μ΄μμ μ κ±°νλ€.
νλ‘κ·Έλ¨μ μ²μμ λΉμ΄μλ λ°°μ΄μμ μμνκ² λλ€.
πΉ μ λ ₯
첫째 μ€μ μ°μ°μ κ°μ N(1 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λ€μ Nκ°μ μ€μλ μ°μ°μ λν μ 보λ₯Ό λνλ΄λ μ μ xκ° μ£Όμ΄μ§λ€. λ§μ½ xκ° μμ°μλΌλ©΄ λ°°μ΄μ xλΌλ κ°μ λ£λ(μΆκ°νλ) μ°μ°μ΄κ³ , xκ° 0μ΄λΌλ©΄ λ°°μ΄μμ κ°μ₯ ν° κ°μ μΆλ ₯νκ³ κ·Έ κ°μ λ°°μ΄μμ μ κ±°νλ κ²½μ°μ΄λ€. μ λ ₯λλ μμ°μλ 231λ³΄λ€ μλ€.
πΉ μΆλ ₯
μ λ ₯μμ 0μ΄ μ£Όμ΄μ§ νμλ§νΌ λ΅μ μΆλ ₯νλ€. λ§μ½ λ°°μ΄μ΄ λΉμ΄ μλ κ²½μ°μΈλ° κ°μ₯ ν° κ°μ μΆλ ₯νλΌκ³ ν κ²½μ°μλ 0μ μΆλ ₯νλ©΄ λλ€.
νμ΄ λ°©λ²
πΉ μ°μ μμ ν
πΉ ν(heap) - heapq
πΉ μ΅λν
ꡬν μ½λ
import sys
import heapq
N = int(sys.stdin.readline())
inputs = [int(sys.stdin.readline()) for _ in range(N)]
heap = []
for num in inputs:
if num == 0:
if heap:
print(heapq.heappop(heap)[1])
else:
print(0)
else:
heapq.heappush(heap,(-num,num))
μ€ν κ²°κ³Ό
π‘