Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- vector<int> advantageCount(vector<int>& A, vector<int>& B) {
- int len = A.size();
- vector<int> res(len, 0);
- auto comp = [&](const int& lhs, const int& rhs)
- {
- return B[lhs] < B[rhs];
- };
- priority_queue<int, vector<int>, decltype(comp)> pq(comp);
- for(int i = 0; i < len; ++i)pq.push(i);
- sort(A.begin(), A.end());
- int lo = 0, hi = len - 1;
- while(pq.size())
- {
- int idx = pq.top();
- pq.pop();
- if(A[hi] > B[idx])
- res[idx] = A[hi--];
- else
- res[idx] = A[lo++];
- }
- return res;
- }
- };
Add Comment
Please, Sign In to add comment