Submission #1149600

#TimeUsernameProblemLanguageResultExecution timeMemory
1149600henriessAdvertisement 2 (JOI23_ho_t2)C++20
0 / 100
31 ms6468 KiB
#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 p2.second > p1.second;
	}
	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 = 0;
	for(int i = 0;i<n;i++){
		if (points[i].second > maximum){
			ans += 1;
			maximum = points[i].second;
		}
	}
	cout << ans;
}

	
  
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...