#include <bits/stdc++.h>
using namespace std;
const int maxn = (int)1e6+5;
const int maxv = (int)1e6+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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |