#P10711. [NOISG2024 Prelim] Amusement Park
[NOISG2024 Prelim] Amusement Park
题目背景
翻译自 NOI SG 2024 Prelim D.Amusement Park。
题目描述
有一家游乐园,在大门处有一项观光车服务。很显然,一辆观光车只能承载有限的人数,那么如果一个团队来到大门时,发现观光车不够坐时,他们需要决定是否愿意分开。有些团队愿意,有些不愿意。
为了解决这个复杂的问题,公园的管理者蜗牛 Stuart 想请你帮忙写一个程序,支持以下三种操作:
-
join
:一个新的团队进入了队列。我们用两个整数 描述此次操作: 表示该团队的总人数;如果 ,那么这个团队愿意在乘坐观光车时分开;如果 ,表示他们不愿意分开。假设这次操作是所有操作中第 次join
操作,则该团队的编号为 。 -
leave
:给定 ,编号为 的团队从队伍中离开。 -
board
:给定 ,表示新开来一辆能坐 人的观光车。从队头开始,如果到一个团队时,观光车可以承载所有人,那么所有人上车;否则如果该团队愿意分开,那么部分人上车;否则该团队留在原位置,在下一个团队重复该过程,直到观光车坐满,或没有人愿意上车。
输入格式
第一行,一个整数 ;
接下来 行,每行一次操作,分为以下三种:
-
1 s w
:描述一次join
操作; -
2 i
:描述一次leave
操作; -
3 b
:描述一次board
操作。
输出格式
对于 join
和 leave
操作,你不需要输出任何内容。
对于每一次 board
操作,设有 个团队有至少一个人上了观光车,你需要输出 行:
-
第一行一个整数 。
-
接下来 行,每行两个整数,第一个表示团队编号,第二个表示该团队上观光车的人数。注意:团队编号应从小到大输出。(如果 ,忽略此部分。)
7
1 2 0
1 6 0
1 6 1
3 5
2 2
1 3 0
3 123456789012
2
1 2
3 3
2
3 3
4 3
5
1 1 0
1 1 0
1 1 0
3 2
1 1 0
2
1 1
2 1
4
1 19 1
3 10
3 10
3 10
1
1 10
1
1 9
0
提示
【数据范围】
分值 | 特殊性质 | |
---|---|---|
样例 | ||
,没有 leave 操作 |
||
,没有 leave 操作 |
||
,没有 leave 操作 |
||
无特殊性质 |
对于 的数据:
-
-
对于所有
join
操作,。 -
对于所有
leave
操作,保证所有 在操作时都在队列中。 -
对于所有
board
操作,。 -
至少有一次
board
操作。