Submission #597189

#TimeUsernameProblemLanguageResultExecution timeMemory
597189Trisanu_DasHotel (CEOI11_hot)C++17
0 / 100
1221 ms40048 KiB
#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); rooms.erase(choice); } sort(choosed.begin(), choosed.end(), greater<int>()); for(int i = 0; i < o; i++) ans += choosed[i]; cout << ans << '\n'; }
#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...