# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
115328 | model_code | Hotel (CEOI11_hot) | C++17 | 1744 ms | 39776 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/* Model solution for task HOT
* Author: Miroslaw Michalski
* Time complexity : O(n log n)
* 24APR11
* pure STL stuff
*/
#include <cstdio>
#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <iostream>
using namespace std;
int main() {
int n, m, o, ci, pi;
long long res = 0;
vector<int> think;
map<pair<int, int>, int > v;
scanf("%d%d%d", &n, &m, &o);
for(int i = 0; i < n; i++) {
scanf("%d%d", &ci, &pi);
pair<int, int> obj = make_pair(pi, ci);
if (v.find(obj) == v.end()) {
v[obj] = 1;
} else {
v[obj]++;
}
}
vector<pair<int, int> > q;
for(int j = 0; j < m; j++) {
int vj, dj;
scanf("%d%d", &vj, &dj);
q.push_back(make_pair(vj, dj));
}
sort(q.begin(), q.end());
reverse(q.begin(), q.end());
for(int j = 0; j < m; j++) {
int vj = q[j].first;
int dj = q[j].second;
map<pair<int, int>, int>::iterator it = v.lower_bound(make_pair(dj, -1));
if (it != v.end()) {
if ((it->first).second < vj) {
think.push_back(vj - (it->first).second);
}
if (it->second == 1) {
v.erase(it);
} else {
v[it->first] --;
}
}
}
sort(think.begin(), think.end());
reverse(think.begin(), think.end());
o = min(o, static_cast<int>(think.size()));
for(int i = 0; i < o; i++) {
res += think[i];
}
printf("%lld\n", res);
return 0;
}
Compilation message (stderr)
# | 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... |