P17545 [JAG 2026 Summer Camp #2] Robot Damage

题目描述

某实验室有一条可以视为数轴的直线测试轨道,以及一个沿轨道移动的机器人。每次实验开始时,机器人都静止在原点。 轨道上放置了两面墙,一面位于负坐标,另一面位于正坐标。机器人无法穿过墙,只能在两面墙之间的闭区间内移动。 机器人上有一个按钮。按下按钮后,机器人依次执行以下 $N$ 个阶段。 - 假设第 $i$ 个阶段开始时机器人位于坐标 $X$。它尝试沿数轴向坐标 $X+V_i$ 移动。若 $V_i>0$,则向右移动;若 $V_i

输入格式

输入包含一组或多组测试数据。第一行包含一个整数 $t$,表示测试数据组数($1\le t\le 10^5$)。随后依次给出各组测试数据,每组格式如下。 ```text N V_1 V_2 ... V_N Q W_1 T_1 W_2 T_2 ... W_Q T_Q ``` 整数 $N$ 表示每次按下按钮后执行的阶段数($1\le N\le 2\times 10^5$)。对于每个 $i=1,\ldots,N$,整数 $V_i$ 表示第 $i$ 个阶段尝试移动的位移($-10^9\le V_i\le 10^9$,$V_i\ne 0$)。 整数 $Q$ 表示询问次数($1\le Q\le 2\times 10^5$)。对于每个 $i=1,\ldots,Q$,整数 $W_i,T_i$ 分别表示第 $i$ 次询问中原点到每面墙的距离以及按按钮的次数($1\le W_i\le 10^{16}$,$1\le T_i\le 10^{12}$)。 所有测试数据的 $N$ 之和不超过 $4\times 10^5$,$Q$ 之和不超过 $4\times 10^5$。

输出格式

对于每组测试数据,输出 $Q$ 行。第 $i$ 行包含第 $i$ 次询问的答案。

说明/提示

在第一组测试数据中,第 $1$ 次询问会在第 $2$ 和第 $4$ 个阶段于 $-5$ 处发生碰撞,共受到 $2$ 点伤害。第 $2$ 次询问中,两次在 $-9$ 处发生的碰撞都出现在第二次按下按钮之后。 在第二组测试数据中,机器人从未以正速度撞上墙,因此没有受到伤害。