AT_abc366_c [ABC366C] Balls and Bag Query
题目描述
有一个空袋子。给定 $Q$ 个操作,请按顺序处理这些操作。
操作有以下 $3$ 种类型:
- `1 x` :向袋子中放入一个写有整数 $x$ 的球。
- `2 x` :从袋子中取出一个写有整数 $x$ 的球并丢弃。保证在执行该操作时,袋子中一定存在写有整数 $x$ 的球。
- `3` :输出袋子中不同整数的球的种类数。
输入格式
输入按以下格式从标准输入给出。
> $Q$ $\text{query}_1$ $\text{query}_2$ $\vdots$ $\text{query}_Q$
第 $i$ 个操作 $\text{query}_i$ 为以下三种形式之一:
> $1$ $x$
> $2$ $x$
> $3$
输出格式
若有 $K$ 个第 $3$ 种类型的操作,则输出 $K$ 行。第 $i$ 行($1 \leq i \leq K$)输出第 $i$ 个第 $3$ 种类型操作的答案。
说明/提示
### 限制条件
- $1 \leq Q \leq 2 \times 10^{5}$
- $1 \leq x \leq 10^{6}$
- 当给出第 $2$ 种类型的操作时,袋子中一定存在写有整数 $x$ 的球。
- 至少存在一个第 $3$ 种类型的操作。
- 输入均为整数。
### 样例解释 1
开始时,袋子是空的。第 $1$ 个操作 `1 3` 后,袋子中有一个写有 $3$ 的球。第 $2$ 个操作 `1 1` 后,袋子中有一个写有 $1$ 的球。第 $3$ 个操作 `1 4` 后,袋子中有一个写有 $4$ 的球。第 $4$ 个操作 `3` 时,袋子中有 $1, 3, 4$ 三种球,因此输出 $3$。第 $5$ 个操作 `2 1` 后,袋子中写有 $1$ 的球被取出。第 $6$ 个操作 `3` 时,袋子中有 $3, 4$ 两种球,因此输出 $2$。第 $7$ 个操作 `1 5` 后,袋子中有一个写有 $5$ 的球。第 $8$ 个操作 `3` 时,袋子中有 $3, 4, 5$ 三种球,因此输出 $3$。
由 ChatGPT 4.1 翻译