Submission #1148861

#TimeUsernameProblemLanguageResultExecution timeMemory
1148861LilPlutonHotel (CEOI11_hot)C++20
100 / 100
242 ms11144 KiB
#include <bits/stdc++.h> using namespace std; #define ld long double #define ll long long #define eb emplace_back const int inf = 1e9; signed main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, m, o; cin >> n >> m >> o; vector<array<int,2>>a(n), b(m); for(auto &i : a){ cin >> i[1] >> i[0]; } for(auto &i : b){ cin >> i[1] >> i[0]; } sort(a.begin(), a.end()); sort(b.begin(), b.end()); priority_queue<int>q; vector<int>dd; for(int i = 0, j = 0; i < n; ++i){ while(j < m && b[j][0] <= a[i][0]){ q.push(b[j][1]); ++j; } if(!q.empty() && q.top() > a[i][1]){ dd.push_back(q.top() - a[i][1]); q.pop(); } } sort(dd.rbegin(), dd.rend()); cout << accumulate(dd.begin(), dd.begin() + min((int)dd.size(), o), 0LL) << endl; }
#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...