Submission #743713

#TimeUsernameProblemLanguageResultExecution timeMemory
743713vjudge1Lightning Rod (NOI18_lightningrod)C++17
66 / 100
2024 ms77576 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long bool check(ll x1, ll x2, ll y1, ll y2) { return abs(x1 - x2) <= y1 - y2; } int main() { int n; ll a, b; stack<pair<ll, ll>> st; cin >> n; for (int i = 0; i < n; ++i) { cin >> a >> b; if (!st.empty() && check(st.top().first, a, st.top().second, b)) // old cover new { continue; } while (!st.empty() && check(a, st.top().first, b, st.top().second)) // new cover old { st.pop(); } st.push({a,b}); } cout << st.size(); }
#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...