#AT2345. E - Notebook
E - Notebook
当前没有测试数据。
E - 笔记本
分数:$500$ 分
问题描述
给定一个整数序列 $A$ 和一个笔记本。笔记本有 $10^9$ 页。
你得到了 $Q$ 个查询。每个查询是以下四种之一:
ADD :将整数 添加到 的末尾。
DELETE:如果 $A$ 不为空,则删除 $A$ 的最后一项;否则不执行任何操作。
SAVE $y$:将笔记本上第 $y$ 页的序列清空,并将当前的 $A$ 记录在第 $y$ 页上。
LOAD $z$:将 $A$ 替换为笔记本上第 $z$ 页的序列。
初始时,$A$ 是一个空序列,且每一页的笔记本上都是空序列。 按照给定的顺序依次处理 $Q$ 个查询,并在处理每个查询后打印出 $A$ 的最后一项。
由于可能存在大量的输入和输出,建议使用快速的输入和输出方法。
约束
- $1 \leq Q \leq 5 \times 10^5$
- $1 \leq x, y, z \leq 10^9$
- $Q$,$x$,$y$ 和 $z$ 都是整数。
- 给定的查询都是问题描述中的四种之一。
输入
从标准输入读入数据,数据格式如下:
``` $Q$ $\mathrm{query}_1$ $\mathrm{query}_2$ $\vdots$ $\mathrm{query}_Q$ ```输出
对于每个 $i = 1, 2, \ldots, Q$,设 $X_i$ 是处理前 $i$ 个查询后 $A$ 的最后一个元素,如果 $A$ 为空则设 $X_i := -1$,按照以下格式输出结果:
``` $X_1$ $X_2$ $\ldots$ $X_Q$ ```11
ADD 3
SAVE 1
ADD 4
SAVE 2
LOAD 1
DELETE
DELETE
LOAD 2
SAVE 1
LOAD 3
LOAD 1
3 3 4 4 3 -1 -1 4 4 -1 4
初始时,$A$ 是一个空序列,因此 $A = ()$,每一页的笔记本上都是空序列。
- 第 $1$ 个查询,将 $3$ 添加到 $A$ 的末尾,得到 $A = (3)$。
- 第 $2$ 个查询,将第 $1$ 页的序列变为 $(3)$,得到 $A$ 仍为 $(3)$。
- 第 $3$ 个查询,将 $4$ 添加到 $A$ 的末尾,得到 $A = (3, 4)$。
- 第 $4$ 个查询,将第 $2$ 页的序列变为 $(3, 4)$,得到 $A$ 仍为 $(3, 4)$。
- 第 $5$ 个查询,用第 $1$ 页的序列 $(3)$ 替换 $A$,得到 $A = (3)$。
- 第 $6$ 个查询,删除 $A$ 的最后一项,得到 $A = ()$。
- 第 $7$ 个查询,由于 $A$ 已经为空,什么也不做,得到 $A = ()$。
- 第 $8$ 个查询,用第 $2$ 页的序列 $(3, 4)$ 替换 $A$,得到 $A = (3, 4)$。
- 第 $9$ 个查询,将第 $1$ 页的序列变为 $(3, 4)$,得到 $A$ 仍为 $(3, 4)$。
- 第 $10$ 个查询,用第 $3$ 页的序列 $()$ 替换 $A$,得到 $A = ()$。
- 第 $11$ 个查询,用第 $1$ 页的序列 $(3, 4)$ 替换 $A$,得到 $A = (3, 4)$。
21
ADD 4
ADD 3
DELETE
ADD 10
LOAD 7
SAVE 5
SAVE 5
ADD 4
ADD 4
ADD 5
SAVE 5
ADD 2
DELETE
ADD 1
SAVE 5
ADD 7
ADD 8
DELETE
ADD 4
DELETE
LOAD 5
4 3 4 10 -1 -1 -1 4 4 5 5 2 5 1 1 7 8 7 4 7 1