This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |