Submission #739944

#TimeUsernameProblemLanguageResultExecution timeMemory
739944UnforgettableplHotel (CEOI11_hot)C++17
100 / 100
1010 ms62912 KiB
/* ID: samikgo1 TASK: LANG: C++ */ #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll,ll> pll; #define all(x) x.begin(),x.end() #define allr(x) x.rbegin(),x.rend() //#define f first //#define s second //#define x first //#define y second const int INF = INT32_MAX; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); // freopen("measurement.in","r",stdin); // freopen("measurement.out","w",stdout); ll n,m,o; cin >> n >> m >> o; vector<pll> offers(m); multiset<pll> roomss; for (int i = 0; i < n; i++) { ll a,b; cin >> a >> b; roomss.emplace(b,a); } for(pll&i:offers)cin>>i.first>>i.second; sort(allr(offers)); vector<ll> ans; for (pll &i: offers) { // i.first is rate // i.second is requirement auto room = roomss.lower_bound({i.second,(ll)0}); if(room==roomss.end()){ continue;} ll a = i.first-room->second; roomss.erase(room); if(a>0) {ans.emplace_back(a);}; } sort(allr(ans)); ll anss = 0; for (ll i = 0; i < min(o,(ll)ans.size()); i++) { anss += ans[i]; } cout << anss; }
#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...