제출 #1148861

#제출 시각아이디문제언어결과실행 시간메모리
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...