小D新入职了某国的交管部门,他的第一个任务是负责国家的一条长度为L的南北主干道的车辆超速检测。为了考考小D,上司首先需要他解决一个简化的场景。
这个周末,主干道上预计出现n辆车,其中第i辆车从主干道上距离最南端di的位置驶入,以vi 的初速度和ai 的加速度做匀加速运动向北行驶。我们只考虑从南向北的车辆,故vi>0,但ai 可正可负,也可以为零。当车辆行驶到主干道最北端(即距离最南端为L的位置)或速度降为0(这只可能在ai<0时发生)时,我们认为该车驶离主干道。
主干道上设置了m个测速仪,其中第j个测速仪位于主干道上距离最南端pj的位置,每个测速仪可以设置开启或关闭。当某辆车经过某个开启的测速仪时,若这辆车的瞬时速度超过了道路限速V,那么这辆车就会被判定为超速。注意当车辆驶入与驶出主干道时,如果在对应位置有一个开启的测速仪,这个测速仪也会对这辆车进行测速。
上司首先想知道,如果所有测速仪都是开启的,那么这n辆车中会有多少辆车被判定为超速。
其次,为了节能,部门想关闭一部分测速仪。然而,他们不希望漏掉超速的车,也就是说,当n辆车里的某辆车在所有测速仪都开启时被判定为超速,他们希望在关闭一部分测速仪以后它依然被判定为超速。上司还想知道在这样的条件下最多可以关闭多少测速仪。
由于n很大,上司允许小D使用编程解决这两个问题,于是小D找到了你。
如果你对于加速度并不熟悉,小D贴心地在本题的“提示”部分提供了有关加速度的公式。
从文件detect.in 中读入数据。
本题有多组测试数据。
输入的第一行包含一个正整数T,表示数据组数。
接下来包含T 组数据,每组数据的格式如下:
第一行包含四个整数n,m,L,V,分别表示车辆数量、测速仪数量、主干道长度和道路限速。
接下来n行:
第i行包含三个整数di,vi,ai 描述一辆车。
最后一行包含m个整数p1,p2,··· ,pm 描述道路上所有测速仪的位置。
输出到文件detect.out中。
对于每组数据:输出一行包含两个整数,第一个整数为所有测速仪都开启时被判定为超速的车辆数量,第二个整数为在不漏掉超速车辆的前提下最多可以关闭的测速仪数量。
1
5 5 15 3
0 3 0
12 4 0
1 1 4
5 5 -2
6 4 -4
2 5 8 9 15
3 3
的距离,即到达2的位置时,速度变为3,并在之后一直超速。因此这辆车会被除了距离最南端2的测速仪以外的其他测速仪判定为超速。
的距离,即到达9的位置时,速度变为3。因此这辆车在距离最南端[5,9)时超速,会被距离最南端5和8的两个测速仪判定为超速。
的距离后,即这辆车到达
的位置时,其速度变为3。因此这辆车在距离最南端
时超速,但这段区间内没有测速仪,因此不会被判定为超速。