rt,已经通过。
#pragma GCC optimize(3)
#include<bits/stdc++.h>
using namespace std;
const int N=200100;
int t[N],p[N],a[N],b[N];
int on[N];
vector<pair<int,int>>z[N];
signed main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=m;++i){
int t,p;cin>>t>>p;
if(!on[p])on[p]=t;
else z[p].emplace_back(t,on[p]),on[p]=0;
}
for(int i=1;i<=n;++i)
sort(z[i].begin(),z[i].end());
int q;cin>>q;
map<pair<int,int>,int>mp;
while(q--){
int l,r,res=0;cin>>l>>r;
if(mp[{l,r}])cout<<mp[{l,r}]<<'\n';
else{
for(int i=0;i<z[r].size();++i)
for(int j=z[l].size()-1;~j;--j){
auto[r1,l1]=z[l][j];
auto[r2,l2]=z[r][i];
if(max(l1,l2)<=min(r1,r2))res+=min(r1,r2)-max(l1,l2);
else if(r1<l2)break;
}
cout<<(mp[{l,r}]=res)<<'\n';
}
}
return 0;
}