AT_abc459_c.Drop Blocks
普及-
通过率:0%
时间限制:2.00s
内存限制:1024MB
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 N 个单元格从左到右排成一行。初始时,所有单元格中均未放置任何方块。
给你 Q 个查询,请按顺序处理它们。每个查询为以下两种类型之一:
1 x:在从左往右数第 x 个单元格中放置 1 个方块。然后,若每个单元格中都至少有 1 个方块,则从每个单元格中移除 1 个方块。2 y:输出至少含有 y 个方块的单元格数量。
输入格式
输入从标准输入中按以下格式给出:
N Q
query1
query2
⋮
queryQ
每个查询 queryi(1≤i≤Q)以如下两种格式之一给出:
1 x
2 y
输出格式
设 K 为第二类查询的数量。输出 K 行。第 i 行(1≤i≤K)应包含第 i 个第二类查询的答案。
输入输出样例
输入#1
3 7 1 1 1 3 1 3 2 1 2 2 1 2 2 1
输出#1
2 1 1
说明/提示
样例 1 解释:
N=3,初始时从左到右第 1、2、3 个格子中放置的方块数量分别为 (0,0,0)。查询按顺序处理如下:
- 在从左数第 1 个格子中放置 1 个方块。此时存在空格子,因此不执行额外操作。第 1、2、3 个格子中的方块数量变为 (1,0,0)。
- 在从左数第 3 个格子中放置 1 个方块。第 1、2、3 个格子中的方块数量变为 (1,0,1)。
- 在从左数第 3 个格子中放置 1 个方块。第 1、2、3 个格子中的方块数量变为 (1,0,2)。
- 至少有 1 个方块的格子是从左数第 1 和第 3 个格子,共 2 个。因此输出 2。
- 至少有 2 个方块的格子仅是从左数第 3 个格子,共 1 个。因此输出 1。
- 在从左数第 2 个格子中放置 1 个方块。此时每个格子均至少有 1 个方块,因此从每个格子中移除 1 个方块。第 1、2、3 个格子中的方块数量变为 (0,0,1)。
- 至少有 1 个方块的格子仅是从左数第 3 个格子,共 1 个。因此输出 1。
综上,按顺序输出 2、1、1,每行一个。
约束条件
- 1≤N≤3×105
- 1≤Q≤3×105
- 1≤x≤N
- 1≤y≤3×105
- 所有输入值均为整数。
- 至少存在一个类型为二的查询。