这道题真的好简单,也不知道考试的时候在想什么,哎,把答案附在这里,就是对于每一个活动都把做核酸的时间满足该活动的区间+1,之后只需要查询该时间点就知道满足几个活动了
#include <bits/stdc++.h>
using namespace std;
const int N=4e5+10;
int t[N],c[N],b[N];
int n,m,k,q;
int main()
{
cin>>n>>m>>k;
for(int i=1;i<=n;i++) cin>>t[i]>>c[i];
for(int i=1;i<=n;i++)
{
for(int j=max(0,t[i]-c[i])+1;j<=t[i];j++) b[j]++;
}
while(m--)
{
cin>>q;
cout<<b[q+k]<<endl;
}
return 0;
}