Submission #922171

#TimeUsernameProblemLanguageResultExecution timeMemory
922171vjudge1Lightning Rod (NOI18_lightningrod)C++17
100 / 100
595 ms229976 KiB
#include <bits/stdc++.h>
#include <iomanip>
#define ll long long
//#define int long long
#define pb push_back
#define mp make_pair
#define ff first
#define ss second
#define str string
#define pii pair<int,int>
#define sz(x) x.size()
#define all(x) x.begin(), x.end()
#define vi vector<int>
#define mii map<int,int>
#define mll map<ll,ll>
#define yes cout<<"YES\n";
#define no cout<<"NO\n";
#define yess cout<<"Yes\n";
#define noo cout<<"No\n";
using namespace std;

#define maxn 2000101
#define mod  1000000007

int gt(){
    int r=0;
    char c=getchar();
    //cout<<c<<"\n";
    while(c==' ' || c=='\n'){
        c=getchar();
      //  cout<<c<<"\n";
    }
    while(c!=' ' && c!='\n'){
        r*=10;
        r+=(c-'0');
        c=getchar();
        //cout<<c<<"\n";
    }
    //cout<<r<<"\n";
    return r;
}

void solve(){
    int n;
    n=gt();
    vector<pair<int,int>> v;
    for(int i=1;i<=n;i++){
        int q,w;
        q=gt();
        w=gt();
        if(v.size()==0){
            v.pb(mp(q,w));
            continue;
        }
        else{
            pair<int,int>p=v.back();
            if(abs(p.ff-q)<=p.ss-w){
                continue;
            }
            while(v.size()){
                pair<int,int>p=v.back();
                if(abs(p.ff-q)<=w-p.ss){
                    v.pop_back();
                }
                else{
                    break;
                }
            }
            v.pb(mp(q,w));
        }
    }
    cout<<v.size();
}

signed main(){
	ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	//srand( time(0));
	//freopen("sum.in", "r", stdin);
	//freopen("sum.out", "w", stdout);
    int tests=1;
    //cin>>tests;
    for(int i=1;i<=tests;i++){
		//cout<<"Case "<<i<<": \n";
		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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...