AT_abc423_d [ABC423D] Long Waiting

题目描述

有一家餐厅,最多可同时容纳 $K$ 位顾客。在餐厅门前有一条小街道,管理着一支队列。 在时间 $0$ 时,餐厅内没有顾客,队列也是空的。 今天共有 $N$ 个顾客团体将到来,按照到达的顺序被编号为 $1$ 到 $N$。第 $i$ 个团体有 $C_i$ 人,在时间 $A_i$ 加入队列末尾,并在进入餐厅后经过 $B_i$ 个时间单位离开。 每个团体只有在同时满足以下两个条件时,才能从队列前端进入餐厅,并离开队列: - 该团体在队列的最前面。即,该团体是此时仍在队列中的所有团体中最早加入队列的。 - 该团体与当前餐厅中所有团体(包括此刻一起进入的,不包括此刻离开的)的人数之和,不超过 $K$。 请你求出每个团体进入餐厅的时间。

输入格式

输入从标准输入给出,格式如下: > $N$ $K$ > $A_1$ $B_1$ $C_1$ > $\vdots$ > $A_N$ $B_N$ $C_N$

输出格式

输出 $N$ 行。第 $i$ 行($1 \leq i \leq N$)应为第 $i$ 个团体进入餐厅的时间,输出为整数。

说明/提示

### 样例解释 1 各团体的进入与离开过程如下: - 在时间 $30$,团体 $1$ 加入队列,并立即入店,此时餐厅内人数为 $3$。 - 在时间 $60$,团体 $2$ 加入队列,并立即入店,此时餐厅内人数为 $7$。 - 在时间 $90$,团体 $3$ 加入队列。 - 在时间 $105$,团体 $2$ 离开,餐厅内人数变为 $3$。紧接着团体 $3$ 入店,餐厅内人数变为 $8$。 - 在时间 $120$,团体 $4$ 加入队列,立即入店,餐厅内人数为 $10$。 - 在时间 $150$,团体 $3$ 离开,餐厅人数为 $5$。 - 在时间 $165$,团体 $4$ 离开,餐厅人数为 $3$。 - 在时间 $330$,团体 $1$ 离开,餐厅人数为 $0$。 ### 样例解释 2 各团体的进入与离开过程如下: - 在时间 $30$,团体 $1$ 加入队列,立即入店,餐厅内人数为 $10$。 - 在时间 $60$,团体 $2$ 加入队列。 - 在时间 $90$,团体 $3$ 加入队列。 - 在时间 $120$,团体 $4$ 加入队列。 - 在时间 $330$,团体 $1$ 离开,餐厅人数为 $0$。此时团体 $2,3,4$ 紧接着进入,餐厅人数变为 $9$。 - 在时间 $375$,团体 $2,3,4$ 离开,餐厅人数为 $0$。 ### 数据范围 - $1 \leq N \leq 3 \times 10^5$ - $1 \leq K \leq 10^7$ - $1 \leq A_i, B_i \leq 10^7$($1 \leq i \leq N$) - $A_1 < \dots < A_N$ - $1 \leq C_i \leq K$($1 \leq i \leq N$) - 所有输入值均为整数。 由 ChatGPT 5 翻译