#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>=2){
std::vector<ll>l(n);
std::vector<ll>r(n);
l[0] = -4e18;
r[n-1] = -4e18;
for(int i = 1 ; i < n; i++){
l[i] = std::max( l[i-1] , ((ll)x[i-1] + (ll)y[i-1]));
}
for(int i = n-2 ; i >=0; i--){
r[i] = std::max(r[i+1] , ((ll)y[i+1] - (ll)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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |