@dottle
这题题面混乱,翻译更混乱。正确的题意应该是:
$n$ 个人,编号分别为 $1\sim n$,在火车上坐成一列,第 $i$ 个人想要在时刻 $t_i$ 去饮水机接水。每个人有四种状态:坐在座位上无所事事;坐在座位上但想去饮水机;正在饮水机旁排队;正在打水。初始时,所有人都坐在座位上无所事事。注意,“正在饮水机旁排队”的所有人形成一个先进后出的队列。
每个人打水需要 $p$ 分钟。在座位和饮水机之间移动不需要时间。
按照时刻的流逝,每一时刻 $x$ **依次**发生如下事件:
- 如果 $x-p$ 时刻,某个人 $j$ 恰好开始打水,则此时他停止打水,并回到座位上,进入无所事事状态。
- 如果存在 $i$ 使得 $t_i=x$,则 $i$ 的状态从“无所事事”变为“想去饮水机”。如果有多个 $i$ 满足要求,则状态都改变。
- 如果编号为 $k$ 的人目前坐在座位上但想去饮水机,且当前饮水机旁队列中所有人编号都大于 $k$,则 $k$ 就会到饮水机旁排队(站在队列末尾)。如果有多个人满足要求,只有编号 $k$ 最小的人会进入队列,其它人仍然处于“坐在座位上但想去饮水机”状态。
- 如果现在饮水机旁的队列非空,且没有人正在饮水机上打水,则队列中最靠前的人进入“正在打水”状态。
求每个人在哪个时刻打完水。