Submission #743158

#TimeUsernameProblemLanguageResultExecution timeMemory
743158vjudge1Lightning Rod (NOI18_lightningrod)C++17
4 / 100
2057 ms139716 KiB
#include<bits/stdc++.h>

using namespace std;

using ll = long long ;
using pii = pair<ll , ll> ;
using i3 = tuple<ll , ll , ll> ;

const int N = 2e5+5  ;
const int MOD = 1e9+7 ;

int n ;

struct Points {
    int x , y ;
    bool operator<(const Points &other) const {
        if(y != other.y)
            return y > other.y ;
        else return x > other.x ;
    }
};

vector<Points> point ;

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

    cin >> n ;
    for(int i=0;i<n;i++){
        int x , y ; cin >> x >> y ;
        point.push_back({x , y}) ;
    }

    sort(point.begin() , point.end());


    int idx = 0 , ans = 0 ;
    while(idx < n){
        //cout << "x = " << point[idx].x << " y = " << point[idx].y << "\n" ;
        ans++ ;
        int i = idx+1 ;
        while(abs(point[idx].x - point[i].x) <= point[idx].y - point[i].y){
            i++;
        }
        idx = i ;
    }

    cout << ans ;

}

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