P12957 [GCJ Farewell Round #3] Immunization Operation
题目描述
为全球人口提供疫苗是一个涉及多方面的复杂问题。**Ñambi** 正致力于优化疫苗配送流程。为了尽可能降低接种门槛,她尝试使用自动化机器人直接将疫苗配送到患者家中并完成接种。
在当前的方案中,**Ñambi** 设计的机器人将在一条东西走向的街道上工作。机器人接受单一指令“移动 $x$ 米”:若 $x$ 为正,则向东移动 $x$ 米;若 $x$ 为负,则向西移动 $x$ 米。
机器人每天启动时会加载当天需完成的所有疫苗接种信息。每条信息包含疫苗的当前位置(用于取货)和患者位置(用于配送)。每支疫苗均为特定患者定制,且配送位置永远不会与取货位置相同。机器人必须在配送疫苗前先取货。
机器人编程逻辑如下:
- 首次经过疫苗取货位置时,自动取货并装载至货舱。
- 若已取货的疫苗对应的患者位置被经过,则立即完成配送。
**Ñambi** 需要统计每条移动指令后完成的疫苗接种次数。疫苗接种发生在疫苗被配送时。注意:疫苗可能在同一指令的移动过程中被取货(需在配送前完成取货)。
下图展示了样例 #1 的场景:笑脸为机器人初始位置,黑线为街道。上方标记为取货位置,下方标记为配送位置,底部箭头按从上到下的顺序标注了每次移动完成的配送次数。

各次移动的具体过程:
1. **移动 1**:取货疫苗 5 和 1 → 配送疫苗 1 → 在移动结束时取货疫苗 3。注意:虽然经过疫苗 3 的配送位置,但因未取货,无法配送。
2. **移动 2**:经过疫苗 1 和 4 的配送位置。疫苗 1 已配送,疫苗 4 未取货,故无配送。
3. **移动 3**:配送疫苗 3。
4. **移动 4**:取货疫苗 2 → 配送疫苗 5 → 取货疫苗 4。疫苗 2 和 4 未被配送(疫苗 2 的配送位置未到达,疫苗 4 的配送位置在取货前已通过)。
输入格式
输入第一行包含测试用例数量 $\mathbf{T}$。每个测试用例包含 4 行:
1. 两个整数 $\mathbf{V}$(疫苗接种数)和 $\mathbf{M}$(移动指令数)。
2. $\mathbf{V}$ 个整数 $\mathbf{P}_1, \mathbf{P}_2, \ldots, \mathbf{P}_\mathbf{V}$,表示第 $i$ 支疫苗的取货位置在初始位置以东 $\mathbf{P}_i$ 米处(允许多支疫苗同一取货点)。
3. $\mathbf{V}$ 个整数 $\mathbf{D}_1, \mathbf{D}_2, \ldots, \mathbf{D}_\mathbf{V}$,表示第 $i$ 支疫苗的配送位置在初始位置以东 $\mathbf{D}_i$ 米处(允许多支疫苗同一配送点)。
4. $\mathbf{M}$ 个整数 $\mathbf{X}_1, \mathbf{X}_2, \ldots, \mathbf{X}_\mathbf{M}$,第 $j$ 次移动的米数为 $|\mathbf{X}_j|$,方向为东($\mathbf{X}_j > 0$)或西($\mathbf{X}_j < 0$)。疫苗接种顺序可能与输入编号不同,但移动指令按给定顺序执行。
输出格式
对每个测试用例,输出一行 `Case #x: y1 y2 ... yM`,其中 $x$ 为测试用例编号(从 1 开始),$y_j$ 为第 $j$ 次移动完成的疫苗接种次数。
说明/提示
**样例解释**
- **样例 #1**:题目描述中的图示场景。
- **样例 #2 和 #3**:若取货位置先于配送位置被访问,则同一移动中可完成取货和配送。移动结束时也可能完成操作。
- **样例 #4**:机器人先向西移动 5 次(每次 987654321 米),再向东移动 4 次(每次 987654321 米),最后向东移动 987654323 米。唯一一次取货和配送均在最后一次移动中完成。移动指令的数值可能极大。
**限制条件**
- $1 \leq \mathbf{T} \leq 100$。
- $1 \leq \mathbf{P}_i, \mathbf{D}_i \leq 10^9$,且 $\mathbf{P}_i \neq \mathbf{D}_i$。
- $\mathbf{X}_j \in [-10^9, 10^9]$ 且 $\mathbf{X}_j \neq 0$。
**测试集 1(4 分,可见判定)**
- 时间限制:20 秒。
- $1 \leq \mathbf{V}, \mathbf{M} \leq 100$。
**测试集 2(9 分,隐藏判定)**
- 时间限制:40 秒。
- $1 \leq \mathbf{V}, \mathbf{M} \leq 10^5$。
翻译由 DeepSeek V3 完成