Submission #192715

#TimeUsernameProblemLanguageResultExecution timeMemory
192715mrtsima22Lightning Rod (NOI18_lightningrod)C++17
100 / 100
583 ms191108 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define two pair<int,int> #define pb push_front #define f first #define s second #define sz(container) (int)(container.size()) inline int bin(int &x){ 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; } int n,x,y; deque<two>st; int main(){ bin(n); while(n--){ bin(x); y=bin(y); bool ok=1; while(!st.empty()){ int a=st.front().f; int b=st.front().s; if(x-a<=b-y){ ok=0; break; } if(x-a<=y-b){ st.pop_front(); }else{ break; } } if(ok){ st.pb({x,y}); } } printf("%d\n",sz(st)); // you should actually read the stuff at the bottom } /* stuff you should look for * int overflow, array bounds * special cases (n=1?), slow multiset operations * do smth instead of nothing and stay organized * unordered_map, hash_map, scanf, calculate answer instead of ans*K */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#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...