이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#define int long long int
signed main(){
int n, m, o; cin >> n >> m >> o;
multiset<pair<int, int> > rooms;
for(int i = 0; i < n; i++){
int c, p; cin >> c >> p; rooms.insert({c, p});
}
pair<int, int> requests[m];
for(int i = 0; i < m; i++) cin >> requests[i].first >> requests[i].second;
sort(requests, requests + m, [] (pair<int, int> i, pair<int, int> j)
{
return i.second > j.second;
});
int ans = 0;
vector<int> choosed;
for(pair<int, int> p : requests){
int req = p.first, price = p.second;
auto choice = rooms.lower_bound({req, -1});
if(choice == rooms.end()) continue;
if(price > choice->second) choosed.push_back(price - choice->second);
}
sort(choosed.begin(), choosed.end(), greater<int>());
for(int i = 0; i < o; i++) ans += choosed[i];
cout << ans << '\n';
}
# | 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... |