Submission #1221327

#TimeUsernameProblemLanguageResultExecution timeMemory
1221327emad234Advertisement 2 (JOI23_ho_t2)C++20
100 / 100
418 ms39552 KiB
#include <bits/stdc++.h>
#define int long long
#define F first
#define S second
#define pii pair<int,int>
const int mod = 1e9 + 7;
const int mxN = (1 << 22) + 1;
using namespace std;
set<pii>s;
bool cmp(pii a, pii b){
  return tie(a.S,a.F) > tie(b.S,b.F);
}
pii a[mxN];
signed main(){
  int n;
  cin >>n;
  for(int i = 1;i <= n;i++) cin >>a[i].F>>a[i].S;
  sort(a + 1,a + n + 1,cmp);
  for(int i = 1;i <= n;i++){
    auto x = s.lower_bound(a[i]);
    if(x != s.end()) if(abs(x->F - a[i].F) <= x->S - a[i].S) continue;
    if(x != s.begin()){
      x--;
      if(abs(x->F - a[i].F) <= x->S - a[i].S) continue;
    }
    s.insert(a[i]);
  }
  cout<<s.size();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...