easiest solution using 2 set
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```cpp []\nclass Solution {\npublic:\n    vector<int> busiestServers(int k, vector<int>& arr, vector<int>& l) {\n        vector<int>ans(k,0);\n        set<int>a;\n        for(int i=0;i<k;i++) a.insert(i); // available\n        set<pair<int,int>>o;\n        for(int i=0;i<arr.size();i++){\n            int start=arr[i]; int end=l[i];\n          while(o.size()>0 && (*o.begin()).first<=start){\n               int ser=(*o.begin()).second;\n               o.erase(o.begin());\n               a.insert(ser);\n           }\n          if(a.size()==0){\n            continue;\n          }\n          else{\n            int ser=i%k;\n            auto it=a.lower_bound(ser);\n            if(it==a.end()) it=a.begin();\n             ser=*it;\n             ans[ser]++;\n             a.erase(it);\n             o.insert({end+start,ser});\n\n          }\n        }\n        int maxi=*max_element(ans.begin(),ans.end());\n        vector<int>ak;\n        for(int i=0;i<ans.size();i++){\n            if(maxi==ans[i]) ak.push_back(i);\n        }\n        return ak;\n\n\n    }\n};\n```
['C++']