Submission #123091

#TimeUsernameProblemLanguageResultExecution timeMemory
123091mechfrog88Lightning Rod (NOI18_lightningrod)C++14
0 / 100
2075 ms187052 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #pragma GCC optimize("unroll-loops,no-stack-protector") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") using namespace __gnu_pbds; using namespace std; template <typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; typedef long long ll; typedef long double ld; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); ll n; cin >> n; vector <pair<ll,ll>> arr(n); for (int z=0;z<n;z++){ cin >> arr[z].first >> arr[z].second; arr[z].first -= arr[z].second; arr[z].second += arr[z].first; } stack <pair<ll,ll>> s; for (int z=0;z<n;z++){ if (s.empty()){ s.push(arr[z]); } pair<ll,ll> s1 = s.top(); if (s1.first <= arr[z].first && arr[z].second <= s1.second) continue; else{ while (arr[z].first <= s1.first && s1.second <= arr[z].second){ s.pop(); if (s.size() == 0) break; } s.push(arr[z]); } } cout << s.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...