fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. #include <deque>
  5. #include <queue>
  6.  
  7. using namespace std;
  8.  
  9. #define maxN 1000007
  10.  
  11. long long n, a, b;
  12.  
  13. struct peach
  14. {
  15. long long t;
  16. long long k;
  17. };
  18. deque<peach>inp;
  19. priority_queue<long long, vector<long long>, less<long long> >pq;
  20.  
  21. bool cmp(peach x, peach y)
  22. {
  23. return x.t < y.t;
  24. }
  25.  
  26. void readData()
  27. {
  28. cin >> n >> a >> b;
  29. int curT, curK;
  30. for(int i = 0; i < n; i++)
  31. {
  32. cin >> curT >> curK;
  33. inp.push_back({curT, curK});
  34. }
  35. sort(inp.begin(), inp.end(), cmp);
  36. }
  37.  
  38. long long solve()
  39. {
  40. long long ans = 0;
  41. for(int i = a; i < b; i++)
  42. {
  43. while(!inp.empty() && inp[0].t <= i)
  44. {
  45. pq.push(inp[0].k);
  46. inp.pop_front();
  47. }
  48. if(!pq.empty())
  49. {
  50. ans += pq.top();
  51. pq.pop();
  52. }
  53. if(inp.empty())
  54. break;
  55. }
  56. return ans;
  57. }
  58.  
  59. int main()
  60. {
  61. readData();
  62. cout << solve();
  63. return 0;
  64. }
  65.  
Success #stdin #stdout 0s 5312KB
stdin
Standard input is empty
stdout
Standard output is empty