思路:抓住关键:
q+k :q时间做核酸,结果出来时间
t[i] -(q+k) <=c[i]:q时间做核酸,可以参加i活动的条件
#include <iostream>
#include <cmath>
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;//n项计划
int m;//m个查询
int k;//核酸结果出来等待时间
cin>>n>>m>>k;
int t[100001];//每一项计划的 入场时间
int c[100001];//每项计划需要几小时内的核算结果证明
int q[100001];//每个查询 的时间
for(int i=1;i<=n;i++)
{
cin>>t[i]>>c[i];
}
for(int i=1;i<=m;i++)
{
cin>>q[i];
}
//q+k :q时间做核酸,结果出来时间
// t[i] -(q+k) <=c[i]:q时间做核酸,可以参加i活动的条件
int TJ;
int Sum=0;//不同做核酸时间,满足条件的活动数
for(int i=1;i<=m;i++)//判断每一个查询,有几个活动可以满足
{
Sum=0;
for(int j=1;j<=n;j++)//每一个活动
{
TJ=t[j] -(q[i]+k) ;
if(TJ<c[j]&&TJ>=0)//满足j活动的入场要求
Sum++;
}
cout<<Sum<<endl;
}
return 0;
}