P11339 [COI 2019] SEGWAY
题目描述
**译自 [COI 2019](https://hsin.hr/coci/archive/2018_2019/) T3「[SEGWAY](https://hsin.hr/coci/archive/2018_2019/olympiad_tasks.pdf)」**
在杜布罗夫尼克举行了一次平衡车比赛。赛道包含三段,每段长 $100$ 米,即,赛道总长是 $300$ 米。基于选手平衡车的电池限制,每个选手都有一个策略:在第一段上的速度,在第二段上的速度和在第三段上的速度,除非允许加速到最大速度(具体操作会在下一段解释)。遗憾的是,平衡车很慢,它们的速度在 $1$ 到 $50$ **秒每米**之间。因此,题目中速度单位为**秒每米**(而不是米每秒)。
在赛道沿途有一些加速点(放置加速器)。当选手到达加速点处时,他的平衡车就会获得额外的能量,可以以 $1$ 秒每米的速度行驶 $X\bmod 20$ 米,这里 $X$ 是在他到达加速点处时,严格在他前面的人数(包含已到达终点的人)。选手不能在额外获得的能量用尽之前使用加速器。额外的能量用尽时,如果没有新的加速器,他将按原定速度继续行驶。
假设选手有能用的加速器就会用,即使不是最优的。一个加速器可以被多人同时使用,并且不会使用后不会失效。你的任务是模拟这次比赛。假设所有选手同时出发,输出他们到达终点所用的时间。
输入格式
第一行包含一个整数 $N$,表示选手数;
接下来 $N$ 行,分别描述选手的策略,每行包含一个范围在 $[1,50]$ 的整数,分别表示在第一段,第二段和第三段的速度;
接下来一行一个整数 $M$,表示加速器个数;
如果 $M>0$,接下来一行有 $M$ 个范围在 $[1,299]$ 的整数,表示每个加速器到起点的距离。距离按严格递增的顺序给出。
输出格式
输出 $N$ 行,每行一个整数,第 $i$ 行输出第 $i$ 名选手到达终点的用时。
说明/提示
### 样例 1 解释
因为没有加速器,所以所有选手按原定速度进行比赛。
### 样例 2 解释
第一名选手不会使用第一个加速器(因为在他前面没有选手),但是他会使用第二个加速器,因为第二名选手在此时超过了他。总得来说,第一名选手以 $5$ 秒每米的速度行驶了 $299$ 米,以 $1$ 秒每米的速度行驶了 $1$ 米。
第二名选手会使用第一个加速器(他前面有一名选手),但是他不会使用第二个加速器。总得来说,第二名选手以 $6$ 秒每米的速度行驶了 $100$ 米,以 $1$ 秒每米的速度行驶了 $1$ 米,以 $2$ 秒每米的速度行驶了 $99$ 米,以 $10$ 秒每米的速度行驶了 $100$ 米。
第三名选手在两个加速器处均会以 $1$ 秒每米的速度行驶 $2$ 米。总得来说,第三名选手以 $10$ 秒每米的速度行驶了 $100$ 米,以 $1$ 秒每米的速度行驶了 $2$ 米,以 $9$ 秒每米的速度行驶了 $97$ 米,以 $1$ 秒每米的速度行驶了 $2$ 米,以 $2$ 秒每米的速度行驶了 $99$ 米。
### 样例 3 解释
两个加速器离终点都很近。第一名选手不会使用任何加速器,第二名选手使用两个加速器(均加速 $1$ 米),然后剩下最后 $1$ 米按原速度行驶,第三名选手会使用第一个加速器(加速 $2$ 米),然后剩下 $1$ 米按原速度行驶。最后两名选手利用最后额外的能量加速冲线。
### 数据范围
对于所有数据,$1\le N\le 2\times 10^4$。
详细子任务附加限制及分值如下表:
|子任务编号|附加限制|分值|
|:-:|:-:|:-:|
|$1$|$M=1$|$15$|
|$2$|$N\le 300$|$40$|
|$3$|无附加限制|$45$|