Submission #1089796

#TimeUsernameProblemLanguageResultExecution timeMemory
1089796juicyHotel (CEOI11_hot)C++17
100 / 100
310 ms30464 KiB
#include <bits/stdc++.h>

using namespace std;

#ifdef LOCAL
#include "debug.h"
#else
#define debug(...) 42
#endif

int main() {
  ios::sync_with_stdio(false); cin.tie(nullptr);

  int n, m, o; cin >> n >> m >> o;
  vector<array<int, 2>> a(n), b(m);
  for (auto &x : a) {
    cin >> x[1] >> x[0];
  }
  for (auto &x : b) {
    cin >> x[1] >> x[0];
  }
  sort(a.begin(), a.end());
  sort(b.begin(), b.end());
  priority_queue<int> pq;
  vector<int> cnd;
  for (int i = 0, j = 0; i < n; ++i) {
    while (j < m && b[j][0] <= a[i][0]) {
      pq.push(b[j][1]);
      ++j;
    }
    if (pq.size() && pq.top() > a[i][1]) {
      cnd.push_back(pq.top() - a[i][1]);
      pq.pop();
    }
  }
  sort(cnd.rbegin(), cnd.rend());
  cout << accumulate(cnd.begin(), cnd.begin() + min(int(cnd.size()), o), 0LL);
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...