Submission #1309528

#TimeUsernameProblemLanguageResultExecution timeMemory
1309528zxzuamLightning Rod (NOI18_lightningrod)C++17
80 / 100
1099 ms78404 KiB
#include <bits/stdc++.h> #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native") #pragma GCC optimize("O3,unroll-loops,fast-math") //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> //#define int long long using namespace std; //using namespace __gnu_pbds; constexpr int maxn = 1e7 + 1; int a[maxn], b[maxn]; void solve(){ int n; cin >> n; int cnt = 0; /*tree< int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> s;*/ int mn = INT_MAX, mx = INT_MIN; for(int i = 1; i <= n; i++) { int x, y; cin >> x >> y; mx = max(mx, y + x); a[i] = mx; b[i] = x - y; } for(int i = n; i >= 1; i--) { if(i == n) { if(a[i] > a[i - 1]) { cnt++; } } else if(i == 1) { if(mn > b[i]) { cnt++; } } else{ if(a[i] > a[i - 1] && mn > b[i]) { cnt++; } } mn = min(mn, b[i]); } cout << cnt; } int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int tt = 1; //cin >> tt; while(tt--) { solve(); } }
#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...