一道比较明显的差分
利用查询递增性质
减少时间复杂度到o{n}
include <bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int main() {
int dif[N]={0};
int n,m,k,x,j,i,sum = 0,y=0;
cin>>n>>m>>k;
int sta,req;
for(i=0;i<n;i++){
cin>>sta>>req;
if(sta<=k) continue;
else if(sta<=k+req) dif[1]++,dif[sta-k+1]--;
else dif[sta-k-req+1]++,dif[sta-k+1]--;
}
for(i=0;i<m;i++){
cin>>x;
for(j=y+1;j<=x;j++)
sum+=dif[j];
cout<<sum<<endl;
y=x;
}
return 0;
}