#65. 「2023 新疆省赛」电梯调度

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: woruo

题目描述

有一座百层大楼,楼层从 进行编号。大楼中安装了一部限载 人的电梯,电梯可以花费 秒钟向上或向下移动 层。第 秒末,电梯处于停止及空载状态,且位于第 层。

位乘客,编号从 。编号为 的乘客于第 秒初到达第 层,想要前往第 层。

电梯按照如下规则运行:

  1. 若电梯于第 秒末处于停止状态且位于第 层,首先检查第 层有没有等待的乘客,以及第 层有没有要去 层以上楼层的乘客。若有,则在满足载客限制的前提下尽可能接受所有需要向上的乘客,并转入向上运行状态,在第 秒末到达第 层。否则扫描第 层有没有等待的乘客,以及第 层有没有要去 层以下的乘客。若有,则在满足载客限制的前提下尽可能接受所有需要向下的乘客,并转入向下运行状态,在第 秒末到达第 层。如果仍然没有,则保持停止状态到第 秒末。

  2. 若电梯于第 秒末处于向上运行状态且位于第 层,首先检查电梯中有没有要前往第 层的乘客,并将这些乘客在第 秒末放下。然后扫描第 层有没有等待的乘客,以及第 层有没有要去 层以上楼层的乘客。若有,则在满足载客限制的前提下,于下客完成后,在第 秒初尽可能接受所有需要向上的乘客,并保持向上运行状态,在第 秒末到达 层。否则转入停止状态,并保持到第 秒末。

  3. 若电梯于第 秒末处于向下运行状态且位于第 层,首先检查电梯中有没有要前往第 层的乘客,并将这些乘客在第 秒末放下。然后扫描第 层有没有等待的乘客,以及第 层有没有要去 层以下楼层的乘客。若有,则在满足载客限制的前提下,于下客完成后,在第 秒初尽可能接受所有需要向下的乘客,并保持向下运行状态,在第 秒末到达 层。否则转入停止状态,并保持到第 秒末。

  4. 若电梯于第 秒末处于停止状态且位于第 层,则保持停止状态到第 秒末。

  5. 电梯接收乘客时,会优先接收已经在该层等待最久的乘客。如果有多名等待最久的乘客,优先接受 最小的乘客。如果仍然相同,优先接受编号最小的乘客。

请对于每位乘客,分别计算其到达目标楼层的时间为第几秒初。

输入格式

输入的第一行为两个空格分隔的正整数 ,分别表示乘客的数量和电梯的限载人数。

随后 行,第 行三个空格分隔的正整数 ,分别表示第 位乘客的到达时间、到达楼层和目标楼层。

保证

输出格式

输出一行 个空格分隔的正整数,分别表示第 位乘客到达目标楼层的时间。

样例

样例输入

5 2
1 2 3
1 3 2
1 3 4
2 8 2
3 1 5

样例输出

3 15 4 15 21

数据范围与提示

秒末与第 秒初是同一时间点。