Advertisement
nikunjsoni

826

Apr 18th, 2021
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.60 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int maxProfitAssignment(vector<int>& difficulty, vector<int>& profit, vector<int>& worker) {
  4.         vector<pair<int, int>> jobs;
  5.         for(int i=0; i<difficulty.size(); i++)
  6.             jobs.push_back({difficulty[i], profit[i]});
  7.         sort(jobs.begin(), jobs.end());
  8.         sort(worker.begin(), worker.end());
  9.        
  10.         int left=0, best=0, ans=0;
  11.         for(int x:worker){
  12.             while(left < jobs.size() && x >= jobs[left].first)
  13.                 best = max(best, jobs[left++].second);
  14.             ans += best;
  15.         }
  16.         return ans;
  17.     }
  18. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement