Closed kemuniku closed 3 weeks ago
import heapq
class Heapq():
def __init__(self,li = []):
self.main =li[:]
heapq.heapify(self.main)
self.sub = []
def pop(self):
while self.sub and self.main[0] == self.sub[0]:
heapq.heappop(self.main)
heapq.heappop(self.sub)
return heapq.heappop(self.main)
def add(self,x):
heapq.heappush(self.main,x)
def discard(self,x):
heapq.heappush(self.sub,x)
def f(self):
while self.sub and self.main[0] == self.sub[0]:
heapq.heappop(self.main)
heapq.heappop(self.sub)
return self.main[0]
python
やるか~
優先度付きキューを2本持って処理