백준 2109 - 순회 강연


백준 2109 - 순회 강연

123456789101112131415161718192021222324252627282930import sys, heapqfrom collections import defaultdict def move(day): for _ in range(day): if day == 0: return 0 if not dic[day]: dic[day] = 1 return day else: day -= 1 return 0 dic = defaultdict(int)n = int(sys.stdin.readline())q = [] for _ in range(n): p, d = map(int, sys.stdin.readline().split()) heapq.heappush(q,[-p,d]) ans = 0while q: tmp = heapq.heappop(q) if move(tmp[1]): ans -= tmp[0] print(ans)Colored by Color Scriptercs 가장 많은 강연 비용을 구하기에 강연비용을 기준으로 max heap을 구성한다. 주어진 날짜에 강연을 하는게 아닌 안에 강연을..........



원문링크 : 백준 2109 - 순회 강연