Submission #1139846

#TimeUsernameProblemLanguageResultExecution timeMemory
1139846mattsohLightning Rod (NOI18_lightningrod)C++17
100 / 100
416 ms160000 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
stack<pair<ll,ll>> st;
inline int readInt() {
    int x = 0;
    char ch = getchar();
    while (ch < '0' || ch > '9') ch = getchar_unlocked();
    while (ch >= '0' && ch <= '9'){
		x = (x << 3) + (x << 1) + ch - '0';
		ch = getchar_unlocked();
	}
    return x;
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
    ll n;
    n = readInt();
    for (ll i = 0;i<n;i++){
        ll x,y;
        x = readInt();
        y = readInt();
        while (true){
            if (st.size() == 0){
                st.push({x,y});
                break;
            }
            ll sx = st.top().first, sy = st.top().second;
            if (x-sx<=sy-y) break;
            else if (x-sx <=y-sy) st.pop();
            else {
                st.push({x,y});
                break;
            }
        }
    }
    cout<<st.size()<<endl;
}
#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...