Submission #496847

#TimeUsernameProblemLanguageResultExecution timeMemory
496847SirCovidThe19thLightning Rod (NOI18_lightningrod)C++17
100 / 100
1692 ms88000 KiB
#include <bits/stdc++.h>
using namespace std; 

#define FOR(i, x, y) for (int i = x; i < y; i++)
#define pii pair<int, int>
#define f first
#define s second

int main(){
    ios_base::sync_with_stdio(0); cin.tie(0); 
    int n; cin >> n; 
    bool covered[n] = {}; pii A[n]; int H = -1; 
    FOR(i, 0, n){
        cin >> A[i].f >> A[i].s;
        if (A[i].f + A[i].s <= H) covered[i] = 1; //covered by something before
        else H = A[i].f + A[i].s;
    }
    H = 2e9;
    for (int i = n - 1; ~i; i--){ 
        if (A[i].f - A[i].s >= H) covered[i] = 1; //covered by something after
        else H = A[i].f - A[i].s;
    }
    cout<<n - accumulate(covered, covered + n, 0)<<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...