Submission #964254

#TimeUsernameProblemLanguageResultExecution timeMemory
964254UnforgettableplExamination (JOI19_examination)C++17
0 / 100
3048 ms178068 KiB
#include <bits/stdc++.h> using namespace std; #define int long long unordered_map<int,int> tree; int mak(int a,int b){ return (a<<32)|b; } int get(int x,int y){ int ans = 0; while(x){ int tempy = y; while(tempy){ if(tree.count(mak(x,tempy)))ans+=tree[mak(x,tempy)]; tempy-=tempy&-tempy; } x-=x&-x; } return ans; } void add(int x,int y){ while(x<=100001){ int tempy = y; while(tempy<=100001){ tree[mak(x,tempy)]++; tempy+=tempy&-tempy; } x+=x&-x; } } int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n,q; cin >> n >> q; for(int i=1;i<=n;i++){ int x,y;cin>>x>>y; x = 100001-x; y = 100001-y; add(x,y); } for(int i=1;i<=q;i++){ int a,b,c;cin>>a>>b>>c; a = 100001-a; b = 100001-b; cout << get(a,b) << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...