#include <bits/stdc++.h>
using namespace std;
bool cmp(pair<long long,long long> p1,pair<long long,long long> p2){
if (p1.first == p2.first){
return p1.first > p2.first;
}
return p1.first < p2.first;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
long long n;cin>>n;
vector<long long>X(n);
vector<long long> E(n);
vector<pair<long long,long long>> residents(n);
for(int i = 0;i<n;i++){
cin >> X[i];
residents[i].first = X[i];
}
for(int i = 0;i<n;i++){
cin >> E[i];
residents[i].second = E[i];
}
sort(residents.begin(),residents.end());
vector<pair<long long,long long>> points(n);
//do the bloody algebra
//I hate my life
for(int i = 0;i<n;i++){
points[i] = {max(0LL,residents[i].first-residents[i].second),residents[i].first + residents[i].second};
}
//now its quite similar to pandaeyes
sort(points.begin(),points.end(),cmp);
long long ans = 0;
long long maximum = -1;
for(int i = 0;i<n;i++){
if (points[i].second > maximum){
ans += 1;
maximum = points[i].second;
}
}
cout << ans;
}
# | 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... |