Submission #550931

#TimeUsernameProblemLanguageResultExecution timeMemory
550931AKikoLightning Rod (NOI18_lightningrod)C++17
100 / 100
1781 ms147624 KiB
#include <bits/stdc++.h> #define ll long long #define ull unsigned long long #define ss second #define ff first #define pb push_back #define pii pair<int, int> #define INF INT_MAX using namespace std; void debug_out() { cerr << endl; } template<typename Head, typename... Tail> void debug_out(Head H, Tail... T) { cerr << ' ' << H; debug_out(T...); } #ifdef AKIKO_DEBUG #define debug(...) cerr << "\033[1;31m(" << #__VA_ARGS__ << "):\033[0m", debug_out(__VA_ARGS__) #else #define debug(...) #endif #define FAST ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); const ll MOD = 1e9 + 7; int main() { FAST int n, mx = -1; cin >> n; stack<int> s; for(int i = 0; i < n; i++) { int x, y; cin >> x >> y; if(mx >= x + y) { continue; } mx = x + y; int d = x - y; while(s.size() > 0) { if(s.top() >= d) s.pop(); else break; } s.push(d); } cout << s.size() << "\n"; return 0; } /* stuff you should look for * int overflow, array bounds * special cases (n=1?) * do smth instead of nothing and stay organized * WRITE STUFF DOWN * DON'T GET STUCK ON ONE APPROACH */
#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...