from heapq ある集合に値が追加削除される。最小の値を取得したい。 →削除された値が入るheapqを用意し、取得の際に読み飛ばす。 python

from heapq import *

added = []
removed = []
# add
heappush(added, 1)
heappush(added, 2)
# remove
heappush(removed, 1)
# get top
while removed and added[0] == removed[0]:
    heappop(added)
    heappop(removed)

print(added[0])  # => 2