#3921. 超速检测(detect)

超速检测(detect)

题目描述

小 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.indetect.in 中读入数据。 本题有多组测试数据。

输入的第一行包含一个正整数 T ,表示数据组数。 接下来包含 T 组数据,每组数据的格式如下:

第一行包含四个整数 n,m,L, V ,分别表示车辆数量、测速仪数量、主干道长度和 道路限速。

接下来 n 行:

第 i 行包含三个整数 di , vi , ai 描述一辆车。

最后一行包含 m 个整数 p1 , p2 , · · · , pm 描述道路上所有测速仪的位置。

输出格式

输出到文件 ​detect.outdetect.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

提示