Python3  fast solution with mathematical derivation
Intuition\n Describe your first thoughts on how to solve this problem. \n\n# Approach\n Describe your approach to solving the problem. \nwe need to sort server_
# Intuition\n<!-- Describe your first thoughts on how to solve this problem. -->\n\n# Approach\n<!-- Describe your approach to solving the problem. -->\nwe need to sort server_id in range: [i, i+k)\nso we have:\ni <= server_id + m*k < i+k\n-> server_id + m*k = i + x  where x in range[0, k)\n-> server_id % k + 0 = i % k + x\n-> x = server_id % k - i % k\nthat means we can use id = i + x = i + (server_id - i) % k  as key of the heap\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```\nimport heapq\n\nclass Solution:\n    def busiestServers(self, k: int, arrival: List[int], load: List[int]) -> List[int]:\n\n        available_servers = list(range(k))\n        busy_servers = []\n        cnt = [0] * k\n\n        for i in range(len(arrival)):\n            start, duration = arrival[i], load[i]\n            while busy_servers and busy_servers[0][0] <= start:\n                _, server = heapq.heappop(busy_servers)\n                heapq.heappush(available_servers, i + (server - i) % k)\n            if available_servers:\n                server = heapq.heappop(available_servers) % k\n                cnt[server] += 1\n                heapq.heappush(busy_servers, (start + duration, server))\n\n        mx = max(cnt)\n        return [i for i in range(len(cnt)) if cnt[i] == mx]\n        \n        \n\n\n\n\n```
['Python3']