#584. 出行计划

    ID: 584 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 3 上传者: 标签>CCF CSP认证第 25 次CCF CSP软件能力认证基础算法差分

出行计划

问题描述

最近西西艾弗岛上出入各个场所都要持有一定时限内的核酸检测阴性证明。若在时刻 tt 做了核酸检测,则经过 kk 个单位时间在时刻 t+kt+k 可以获得结果。若某场所要求持 cc 个单位时间内的核酸阴性结果入内,那么凭在时刻 tt 做的检测,可以在区间 [t+k,t+k+c1][t+k,t+k+c-1](包括端点的整数时刻)内进入该场所。

CC 按时间顺序列出接下来的 nn 项出行计划,第 ii 项(1in1\le i\le n)表示将在时刻 tit_i 进入某场所,该场所要求持 cic_i 个单位时间内的核酸检测结果入内(0<ci2×1050 < c_i\le 2\times 10^5)。

现在有若干次独立查询:如果在时刻 qq 做了核酸检测,那么有多少项出行计划的核酸要求可以得到满足?共有 mm 个查询 q1,q2,,qmq_1,q_2,\dots,q_m,查询之间互不影响。

对于一个给定的查询时刻 qq,第 ii 项出行计划能被满足的条件是

q+ktiq+k+ci1.q+k \le t_i \le q+k+c_i-1.

请对每个查询输出满足条件的出行计划数目。

输入格式

第一行包含三个正整数 n,m,kn,m,k,分别表示出行计划数、查询个数和等待核酸检测结果所需的时间。 接下来 nn 行,每行包含两个正整数 ti,cit_i,c_i,表示一项出行计划;出行计划按时间顺序给出,满足

$$0 < t_1 \le t_2 \le \cdots \le t_n \le 2\times 10^5. $$

最后 mm 行,每行一个正整数 qjq_j,表示一次查询;mm 个查询也按时间顺序给出,满足

0<q1<q2<<qm2×105.0 < q_1 < q_2 < \cdots < q_m \le 2\times 10^5.

输出格式

输出共 mm 行,第 jj 行输出一个整数,表示在时刻 qjq_j 做检测时可以满足的出行计划数目。

输入样例

6 2 10
5 24
10 24
11 24
34 24
35 24
35 48
1
2

输出样例

3
3

说明

样例解释

  • 对查询 q=1q=1q+k=11q+k=11。满足条件的计划为第 33 项(t3=11t_3=11,窗口 [11,34][11,34])、第 44 项(t4=34t_4=34,窗口 [11,34][11,34])和第 66 项(t6=35t_6=35,窗口 [11,57][11,57]),共 33 项。
  • 对查询 q=2q=2q+k=12q+k=12。满足条件的计划为第 445566 项(第 4455 项的窗口为 [12,35][12,35],第 66 项窗口为 [12,59][12,59]),共 33 项。

数据范围

  • 40%40\% 的数据满足:1n,k10001 \le n,k\le 1000,且 m=1m=1
  • 70%70\% 的数据满足:1n,m,k10001 \le n,m,k\le 1000
  • 全部数据满足:1n,m,k1051 \le n,m,k\le 10^5