Submission #654648

#TimeUsernameProblemLanguageResultExecution timeMemory
654648horiseunLightning Rod (NOI18_lightningrod)C++11
100 / 100
1725 ms175444 KiB
#include <iostream>
#include <stack>
#include <tuple>
#include <algorithm>
using namespace std;

#define f first
#define s second

int n, x, y, cx, cy;
stack<pair<int, int>> s;

int main() {

    ios_base::sync_with_stdio(false);
    cin.tie(0);

    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> x >> y;
        bool inc = true;
        while (s.size()) {
            tie(cx, cy) = s.top();
            if (x - cx <= cy - y) {
                inc = false;
                break;
            }
            if (x - cx <= y - cy) s.pop();
            else break;
        }
        if (inc) s.push({x, y});
    }

    cout << s.size() << "\n";


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