N個の値が更新される、最小値を知りたい
N個の値があり、更新されていく、最小値を知りたい。
→どの値がいつ何に更新されたかのタプルをキューに入れる。サイズNの配列で値の最終更新時刻を保存する。取得時に最新でない情報を読み飛ばす。
code:python
N = 2
queue = []
time = 0
def update(pos, value):
global time
time += 1
heappush(queue, (value, pos, time))
def top():
while queue:
value, pos, time = queue0 if time == lastUpdatepos: return value
heappop(queue)
return None
update(0, 42)
print(top()) # => 42
update(1, 43)
print(top()) # => 42
update(0, 44)
print(top()) # => 43