Submission #1247424

#TimeUsernameProblemLanguageResultExecution timeMemory
1247424ducksaysquackAdvertisement 2 (JOI23_ho_t2)C++20
10 / 100
329 ms19916 KiB
#include <bits/stdc++.h> #define int long long #define f first #define s second using namespace std; signed main() { int n; cin >> n; vector<pair<int,int>> L(n), R(n); for(int i=0;i<n;i++) { int a, b; cin >> a >> b; L[i].f = a-b, L[i].s = i, R[i].f = a+b, R[i].s = i; } sort(begin(L),end(L)); sort(begin(R),end(R)); vector<int> v(n); for(int i=0;i<n;i++) v[R[i].s] = i; int ans = 0, x = -1, y = -1; for(int i=0;i<n;i++) { if(v[L[i].s] > y) ans++; while(x < n-1) { if(L[x+1].f == L[i].f) { x++, y = max(y, v[L[x].s]); while(y < n-1) {if(R[y+1].f == R[y].f) y++; else break;} } else break; } } 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...