Submission #964249

#TimeUsernameProblemLanguageResultExecution timeMemory
964249UnforgettableplExamination (JOI19_examination)C++17
0 / 100
3041 ms293592 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

map<pair<int,int>,int> tree;

int get(int x,int y){
    int ans = 0;
    while(x){
        int tempy = y;
        while(tempy){
            ans+=tree[{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[{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...