Submission #875436

#TimeUsernameProblemLanguageResultExecution timeMemory
875436ElenaBMHotel (CEOI11_hot)C++17
100 / 100
673 ms29836 KiB
#include <bits/stdc++.h> #define x first #define y second #define int long long using namespace std; signed main() { int n, m, o, ans = 0; cin>> n>> m>> o; vector<pair<int,int>>room(n), off(m); priority_queue <int>best; vector<int>prov(n,0); for(int i = 0; i <n; ++i)cin>> room[i].x >> room[i].y; for (int i = 0; i <m; ++i)cin>> off[i].y>> off[i].x; sort(room.begin(), room.end()); sort(off.begin(), off.end()); int snd = 0; for (int i = 0; i < n; ++i){ int mx = room[i].y; for (int j = snd; j < m; ++j){ if (j == m -1)snd = m; if (off[j].x <= mx){ best.push(off[j].y); } else{ snd = j; break; } } if (!best.empty()){ int s = 0; prov[i] = max(s, best.top()-room[i].x); best.pop(); } } sort(prov.begin(), prov.end(), greater()); for (int i = 0; i < o; ++i) ans += prov[i]; cout<< ans << '\n'; return 0; }
#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...