TIME_TO_MAKE_COFFEE = 5 def simulate_cafe (num_baristas, arrival_times): queue_length = 0 barista_time_until_free = [0 for _ in range(num_baristas)] queue_length_over_time = [] for timestep in range (8*60): if arrival_times and arrival_times[0] == timestep: queue_length +=1 arrival_times.pop(0) for barista in range(num_baristas): if barista_time_until_free[barista] == 0: if queue_length > 0: queue_length -= 1 barista_time_until_free[barista] = TIME_TO_MAKE_COFFEE else: barista_time_until_free[barista] -=1 return queue_length_over_time