Submission #1277370

#TimeUsernameProblemLanguageResultExecution timeMemory
1277370ngunguoi45Unija (COCI17_unija)C++17
0 / 100
59 ms131072 KiB
#include <bits/stdc++.h>

using namespace std;

const int maxn = (int)1e6+5;
const int maxv = (int)1e7+5;
const int center = (int)1e6;


int n;
vector<pair<int,int>> events[2*maxv];
priority_queue<pair<int,int>> pq;
long long ans = 0;

int main () {
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    cin >> n;
    for (int i = 1;i <= n; i++) {
        int x, y;
        cin >> x >> y;
        int l = center - x/2;
        int r = center + x/2;
        events[l+1].push_back({y, r});
    }
    for (int i = 0;i < 2*maxv; i++) {
        for (pair<int,int> cur: events[i]) {
            pq.push(cur);
        }
        while ((int)pq.size() && pq.top().second < i) pq.pop();
        if (!pq.empty()) {
            ans += pq.top().first;
        }

    }
    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...