제출 #502991

#제출 시각아이디문제언어결과실행 시간메모리
502991MrVroom999Garage (IOI09_garage)Pypy 3
100 / 100
159 ms26564 KiB
import heapq N, M = map(int, input().split()) rates = [int(input()) for _ in range(N)] weights = [int(input()) for _ in range(M)] routine = [int(input()) for _ in range(2*M)] revenue = 0 waiting = [] available = [] for i in range(1, N + 1): heapq.heappush(available, i) spots = {} for car in routine: if car < 0: heapq.heappush(available, spots[abs(car)]) del spots[abs(car)] else: waiting.append(car) if len(waiting) and len(available): curr = waiting.pop(0) spot = heapq.heappop(available) spots[curr] = spot revenue += weights[curr - 1] * rates[spot - 1] print(revenue)
#Verdict Execution timeMemoryGrader output
Fetching results...