Submission #1249265

#TimeUsernameProblemLanguageResultExecution timeMemory
1249265ender_shayanExamination (JOI19_examination)C++20
100 / 100
218 ms44444 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; #define F first #define S second #define fast_io ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define all(x) x.begin(),x.end() #define pb push_back #define Mp make_pair #define for1(n) for(int i=1;i<=n;i++) #define for0(n) for(int i=0;i<n;i++) #define set_dec(x) cout << fixed << setprecision(x); #define endl '\n' #define lb lower_bound const int N=1e5+10; int n,m,k,q,ans[N]; vector<int>vec; vector<pii>ad[N*6]; vector<pair<pii,int>>Q[N*6]; pii A[N]; pair<pii,int>B[N]; int fen[2][N*6],num; int gt(int x){ return lb(all(vec),x)-vec.begin(); } void upd(int i,int x,int t){ for(;i<N*6;i+=i&-i)fen[t][i]+=x; } int get(int i,int t){ int ans=0; for(;i>0;i-=i&-i)ans+=fen[t][i]; return ans; } int main(){ fast_io vec.pb(-1); cin>>n>>m; for1(n){ int x,y;cin>>x>>y; A[i]={x,y}; vec.pb(x);vec.pb(y); vec.pb(x+y); } for1(m){ int a,b,c;cin>>a>>b>>c; c=max(c,a+b); B[i]={{a,b},c}; vec.pb(a);vec.pb(b); vec.pb(c); } sort(all(vec));vec.resize(unique(all(vec))-vec.begin()); for1(n) ad[gt(A[i].F+A[i].S)].pb({gt(A[i].F),gt(A[i].S)}); for1(m)Q[gt(B[i].S)].pb({{gt(B[i].F.F),gt(B[i].F.S)},i}); for(int i=vec.size()-1;i>=1;i--){ for(pii p:ad[i]){upd(p.F,1,0);upd(p.S,1,1);num++;} for(pair<pii,int>p:Q[i]) ans[p.S]=num-get(p.F.F-1,0)-get(p.F.S-1,1); } for1(m)cout<<ans[i]<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...