Guest User

Untitled

a guest
Jul 20th, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. class Solution {
  2. public:
  3. vector<int> advantageCount(vector<int>& A, vector<int>& B) {
  4. int len = A.size();
  5. vector<int> res(len, 0);
  6. auto comp = [&](const int& lhs, const int& rhs)
  7. {
  8. return B[lhs] < B[rhs];
  9. };
  10. priority_queue<int, vector<int>, decltype(comp)> pq(comp);
  11. for(int i = 0; i < len; ++i)pq.push(i);
  12. sort(A.begin(), A.end());
  13. int lo = 0, hi = len - 1;
  14. while(pq.size())
  15. {
  16. int idx = pq.top();
  17. pq.pop();
  18. if(A[hi] > B[idx])
  19. res[idx] = A[hi--];
  20. else
  21. res[idx] = A[lo++];
  22. }
  23. return res;
  24. }
  25. };
Add Comment
Please, Sign In to add comment