Submission #1282825

#TimeUsernameProblemLanguageResultExecution timeMemory
1282825lyra_g13Lightning Rod (NOI18_lightningrod)C++20
14 / 100
418 ms234320 KiB
#include <bits/stdc++.h> using ll = long long; using namespace std; inline int readInt() { int x = 0; char ch = getchar(); 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 x[10000000], y[10000000]; int main(){ int n = readInt(); for(int i = 0; i < n; i++) { x[i] = readInt(); y[i] = readInt(); } if(n>=200000 and n>=2){ std::vector<ll>l(n); std::vector<ll>r(n); l[0] = -1e9; r[n-1] = -1e9; for(int i = 1 ; i < n; i++){ l[i] = std::max( l[i-1] , (ll)(x[i-1] + y[i-1])); } for(int i = n-2 ; i >=0; i--){ r[i] = std::max(r[i+1] , (ll)(y[i+1] - x[i+1])); } ll c = 0; for(int i = 0 ; i < n ; i++){ if(r[i] >= y[i] - x[i]) continue; if(l[i] >= y[i] + x[i] ) continue; c++; } std::cout << c; } else{ std::cout << n; } return 0; }
#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...