====== 최대 힙 ====== ===== 풀이 ===== * [[ps:problems:boj:1927]]에서 이어지는 문제. * python의 heapq는 최솟값 기준으로만 정렬해주므로, 최댓값을 기준으로 하고 싶을때에는 그냥 -1을 곱해서 넣어주면 된다. * 삽입과 삭제의 시간 복잡도는 여전히 O(logn)이므로, 전체 시간 복잡도는 O(nlogn) ===== 코드 ===== """Solution code for "BOJ 11279. 최대 힙". - Problem link: https://www.acmicpc.net/problem/11279 - Solution link: http://www.teferi.net/ps/problems/boj/11279 Tags: [Heap] """ import heapq import sys def main(): N = int(sys.stdin.readline()) heap = [] for _ in range(N): x = int(sys.stdin.readline()) if x == 0: print(-heapq.heappop(heap) if heap else '0') else: heapq.heappush(heap, -x) if __name__ == '__main__': main() {{tag>BOJ ps:problems:boj:실버_2}}