제출 #1281840

#제출 시각아이디문제언어결과실행 시간메모리
1281840hssaan_arifAdvertisement 2 (JOI23_ho_t2)C++20
59 / 100
2095 ms7584 KiB
// #include <me>
#include <bits/stdc++.h>
using namespace std;

#define endl "\n"
#define pb push_back
#define int long long
#define fi first
#define se second

const int N = 3e5 + 5, M = 1e9 + 7, LG = 20;

int n , x , e;

void solve(){
    cin >> n;
    set<pair<int,int>> st;
    for (int i = 1 ; i <= n ; i++){
        cin >> x >> e;
        st.insert({-e,x});
    }
    int ans = 0;
    while(st.size()){
        e = (*(st.begin())).fi , x = (*(st.begin())).se; st.erase(*(st.begin()));
        e = -e;
        ans++;
        vector<pair<int,int>> re;
        for (auto i : st){
            if (abs(i.se - x) <= e + i.fi){

                re.pb(i);
            }
        }
        while(re.size()){
            st.erase(re.back());
            re.pop_back();
        }
    }
    cout << ans << endl;
}

signed main(){
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int ts = 1;
    // cin >> ts;
    while(ts--){
        solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...