Submission #1355969

#TimeUsernameProblemLanguageResultExecution timeMemory
1355969kismisAdvertisement 2 (JOI23_ho_t2)C++20
100 / 100
230 ms16540 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define vt vector 


signed main() {
    int n;
    cin >> n;
    vt<int> x(n);
    vt<int> e(n);
    for (int i=0 ; i<n ; i++)
    cin >> x[i] >> e[i];

vector<pair<int,int>> intervals;

for (int i = 0; i < n; i++) {
    intervals.push_back({x[i] - e[i], x[i] + e[i]});
}

sort(intervals.begin(), intervals.end(), [](auto &a, auto &b){
    if (a.first == b.first) return a.second > b.second;
    return a.first < b.first;
});

int count = 0;
int max_right = -LLONG_MAX;

for (auto [l, r] : intervals) {
    if (r > max_right) {
        count++;
        max_right = r;
    }
} 
cout << count << endl;
}

#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...