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;
#define int long long
#define sp << ' ' <<
#define nl << '\n'
signed main(){
cin.tie(0)->sync_with_stdio(0);
int n, m, o; cin >> n >> m >> o;
array<int, 2> offers[m];
array<int, 3> room;
set<array<int, 3>> rooms;
for(int i=0; i<n; ++i){
cin >> room[1] >> room[0];
room[2] = i;
rooms.insert(room);
}
for(auto &i : offers) cin >> i[0] >> i[1];
sort(offers, offers+m, greater<>());
vector<int> pos;
for(auto &i : offers){
auto f = rooms.lower_bound({i[1], 0});
if(f != rooms.end()){
pos.push_back(i[0] - (*f)[1]);
rooms.erase(f);
}
}
sort(pos.begin(), pos.end(), greater<>());
int ans = 0;
for(int i=0; i<min(o, (int)pos.size()); ++i){
if(pos[i]>0) ans += pos[i];
}
cout << ans;
}
# | 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... |