n,m,k=map(int,input().split())
#出行计划数目、查询个数以及等待核酸检测结果所需时间
go=[]
ok=[]
for i in range(n):
a,b=map(int,input().split())
go.append(a)
ok.append(b)
haha=[]
result=[]
for i in range(m):
haha.append(int(input()))
sum=0
time=haha[i]+k
for j in range(n-1,-1,-1):
if go[j]>=time and go[j]<=time+ok[j]-1:
sum+=1
if go[j]<time:
break
result.append(sum)
for i in result:
print(i)
代码-100
n,m,k=map(int,input().split())
#出行计划数目、查询个数以及等待核酸检测结果所需时间
A=[0]*2000010
for i in range(n):
a,b=map(int,input().split())
e=max(1,a-b+1)
A[e]+=1#允许进入该场所的最早的核酸报告时间=允许进入该厂的时间-有效期-1
A[a+1]-=1#允许进入该厂最晚的核酸报告时间=允许进入该厂的时间
#差分标记 left~right --> [left]~[right+1]
for i in range(1,2000010):
A[i]+=A[i-1]
haha=[]
for i in range(m):
haha.append(int(input()))
for i in haha:
print(A[i+k])