[python3] Beats 100%
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \n\n# Complexity\n- Time 
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\n\n# Complexity\n- Time complexity:\n<!-- Add your time complexity here, e.g. $$O(n)$$ -->\n\n- Space complexity:\n<!-- Add your space complexity here, e.g. $$O(n)$$ -->\n\n# Code\n```\nclass Solution:\n    def busiestServers(self, k: int, arrival: List[int], load: List[int]) -> List[int]:\n        servers = [0] * k\n        busy = []\n        free = []\n        i = 0\n\n        if not arrival or not load or not k:\n            return []\n\n        while i < k and i < len(load):\n            heapq.heappush(busy, (arrival[i] + load[i], i % k))\n            servers[i % k] += 1 \n            i += 1\n\n        while i < len(load):\n            while busy and busy[0][0] <= arrival[i]:\n                _, server_id = heapq.heappop(busy)\n                #print (i + (server_id - i) % k)\n                heapq.heappush(free, i + (server_id - i) % k)\n            \n            if free:\n                busy_id = heapq.heappop(free) % k\n                heapq.heappush(busy, (arrival[i] + load[i], busy_id))\n                servers[busy_id] += 1\n            i += 1\n\n        max_job = max(servers) \n        return [i for i, n in enumerate(servers) if n == max_job]\n```
['Python3']