#P2894. [USACO08FEB] Hotel G

[USACO08FEB] Hotel G

题目描述

对一家有 nn 个房间(编号为 1n1 \sim n,开始都为空房)的宾馆维护以下操作:

  • 查询房间:你需要在 1,2,,n1,2,\ldots,n 房间中找到长度为 xx 的连续空房。若找得到,在这 xx 个空房间中住上人。
  • 退房:房间号 xx+y1x \sim x+y-1 退房,即让房间为空。

输入格式

第一行输入 n,mn,mnn 代表有 nn 个房间 (1n50,000)(1\leq n \leq 50,000),编号为 1n1 \sim n,开始都为空房,mm 表示以下有 mm 行操作 (1m<50,000)(1\leq m < 50,000),以下每行先输入一个数 ii,表示一种操作:

ii11,表示查询房间,再输入一个数 xx

ii22,表示退房,再输入两个数 x,yx,y

输出格式

对每个输入 11,输出连续 xx 个房间中左端的房间号,尽量让这个房间号最小,若找不到长度为 xx 的连续空房,输出 00

10 6
1 3
1 3
1 3
1 3
2 5 5
1 6

1
4
7
0
5