Submission #1188074

#TimeUsernameProblemLanguageResultExecution timeMemory
1188074user736482Advertisement 2 (JOI23_ho_t2)C++20
100 / 100
294 ms39328 KiB
#pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double #define pb push_back #define ff first #define ss second #define MOD 1000000009 #define INF 1000000019 #define INFL 1000000000000000099LL #define POT (1<<20) ll a,b,c,d,t,n,m,l,q,k,ak,ans; vector<pair<ll,ll>>v; set<pair<ll,ll>>s; int main() { ios_base::sync_with_stdio(0);cin.tie(0); cin>>n; for(ll i=0;i<n;i++){ cin>>a>>b; v.pb({b,a}); } sort(v.begin(),v.end()); reverse(v.begin(),v.end()); s.insert({-INFL,-INFL}); s.insert({INFL,-INFL}); for(ll i=0;i<n;i++){ pair<ll,ll>p1=*s.lower_bound({v[i].ss,-INFL}),p2=*--s.lower_bound({v[i].ss,INFL}); if(p1.ss-v[i].ff>=abs(p1.ff-v[i].ss) || p2.ss-v[i].ff>=abs(p2.ff-v[i].ss)){ continue; } if(p2.ss==v[i].ff)s.erase(s.lower_bound({v[i].ss,-INFL})); ans++; s.insert({v[i].ss,v[i].ff}); } cout<<ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...