fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4.  
  5. int main()
  6. {
  7.  
  8. vector<int> deadline = {2, 1, 2, 1, 1};
  9. vector<int> profit = {100, 19, 27, 25, 15};
  10.  
  11. int n = deadline.size();
  12. int cnt = 0;
  13. int totProfit = 0;
  14.  
  15. vector<pair<int, int>> jobs;
  16. for (int i = 0; i < n; i++)
  17. {
  18. jobs.push_back({profit[i], deadline[i]});
  19. }
  20.  
  21.  
  22. sort(jobs.begin(), jobs.end(),
  23. greater<pair<int, int>>());
  24.  
  25. vector<int> slot(n, 0);
  26. for (int i = 0; i < n; i++)
  27. {
  28. int start = min(n, jobs[i].second) - 1;
  29. for (int j = start; j >= 0; j--)
  30. {
  31. if (slot[j] == 0)
  32. {
  33. slot[j] = 1;
  34. cnt++;
  35. totProfit += jobs[i].first;
  36. break;
  37. }
  38. }
  39. }
  40.  
  41. cout << cnt << " " << totProfit << endl;
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0.01s 5268KB
stdin
Standard input is empty
stdout
2 127