Submission #169233

#TimeUsernameProblemLanguageResultExecution timeMemory
169233aggu_01000101Lightning Rod (NOI18_lightningrod)C++14
100 / 100
510 ms262144 KiB
#include <iostream> #include <algorithm> #include <cmath> #include <unordered_map> #include <fstream> #include <stack> #include <vector> #include <set> #include <queue> #include <cstdlib> #include <cstring> #include <map> #define int long long using namespace std; inline int readInt() { int x = 0; char ch = getchar_unlocked(); 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; } int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n = readInt(); stack<pair<int, int>> st; for(int i =0 ;i<n;i++){ int x = readInt(), y = readInt(); bool toadd = true; bool cont = true; while(st.size() && cont){ if(abs(x - st.top().first)<=(st.top().second - y)) toadd = cont = false; else if(abs(x - st.top().first)<=(y-st.top().second)) st.pop(); else cont = false; } if(toadd) st.push(make_pair(x, y)); } 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...