#HK5158. 「ROIR 2017 Day 2」大型线性对撞机

「ROIR 2017 Day 2」大型线性对撞机

题目描述

译自 ROIR 2017 Day2 T2. Большой линейный коллайдер

一组科学家在国际科学实验室工作,研究大型线性对撞机(BLC)实验装置中基本粒子的行为。BLC 装置是一条直线,其上某些点放置了可以沿直线移动的粒子。

在一次实验中,BLC 中放置了 nn 个粒子,每个粒子要么是带负电的电子 ee^{-},要么是带正电的正电子 e+e^{+}。实验中,第 ii 个粒子初始放置在坐标为 xix_i 的点上。实验开始后,由于 BLC 的作用,粒子将开始沿直线向不同方向移动:ee^{-} 粒子向坐标减小的方向移动,e+e^{+} 粒子向坐标增大的方向移动。所有粒子的速度绝对值相同,均为 11

在移动过程中,如果 ee^{-}e+e^{+} 粒子到达同一点,它们会相互作用并同时消失,且不会对其他粒子的后续行为产生影响。

科学家选择了 mm 个不同的时间点 t1,t2,,tmt_1, t_2, \ldots, t_m,对于每个时间点,他们希望知道在该时间点之后 BLC 中剩余的粒子数量。时间从 00 时刻开始计算,即粒子开始移动的时刻。在时间点 tjt_j 因相互作用而消失的粒子不应计入该时间点的粒子数量。

你的任务是编写一个程序,根据粒子初始位置和类型描述,以及给定的时间点,确定每个时间点之后 BLC 中剩余的粒子数量。

输入格式

输入文件的第一行包含一个整数 nn (1n200000)(1 \leq n \leq 200000),表示粒子数量。接下来的 nn 行描述粒子,每行包含两个整数 xix_iviv_i109x1<x2<<xn109-10^{9} \leq x_1 < x_2 < \ldots < x_n \leq 10^{9}viv_i1-111),分别表示第 ii 个粒子的坐标和类型。ee^{-} 粒子由 vi=1v_i = -1 表示,e+e^{+} 粒子由 vi=1v_i = 1 表示。

下一行包含一个整数 mm (1m200000)(1 \leq m \leq 200000),表示科学家选择的时间点数量。最后一行包含 mm 个整数 t1,t2,,tmt_1, t_2, \ldots, t_m (0t1<t2<<tm109)(0 \leq t_1 < t_2 < \ldots < t_m \leq 10^{9})

输出格式

对于输入文件中的每个时间点,输出一个数字,表示该时间点之后 BLC 中剩余的粒子数量。

4
-1 1
0 -1
1 1
5 -1
4
0 1 2 3

4
2
0
0

在给出的样例中,初始时刻 BLC 中有 44 个粒子:坐标为 1-1e+e^{+} 粒子,坐标为 00ee^{-} 粒子,坐标为 11e+e^{+} 粒子,以及坐标为 55ee^{-} 粒子。

在时间 0.50.5 时刻,第一个 e+e^{+} 粒子和第一个 ee^{-} 粒子在坐标为 0.5-0.5 的点碰撞并消失。在时间 11 时刻,剩余的两个粒子分别位于坐标 2244。在时间 22 时刻,它们在坐标 33 处碰撞并消失。此后 BLC 中不再有粒子。

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 nn 的限制 xix_i 的限制 mm 的限制 tit_i 的限制 子任务依赖
11 3535 1n1001 \leq n \leq 100 100xi100-100 \leq x_i \leq 100 m=1m = 1 0t11000 \leq t_1 \leq 100
22 1212 109xi109-10^{9} \leq x_i \leq 10^{9} 0t11090 \leq t_1 \leq 10^{9} 11
33 1212 1n2000001 \leq n \leq 200000 0ti1090 \leq t_i \leq 10^{9} 1,21, 2
44 4141 1m2000001 \leq m \leq 200000 1,2,31, 2, 3