atcoder#ABC273E. [ABC273E] Notebook
[ABC273E] Notebook
配点 : 点
問題文
整数列 とノートがあります。ノートには 枚のページがあります。
個のクエリが与えられます。各クエリは下記の 種類のいずれかです。
ADD x : 整数 x を A の末尾に追加する。
DELETE : A の末尾の要素を削除する。ただし、A が空である場合は何もしない。
SAVE y : ノートの y ページ目に書かれている数列を消し、代わりに現在の A を y ページ目に書き込む。
LOAD z : A をノートの z ページ目に書かれている数列で置き換える。
はじめ、 は空列であり、ノートのすべてのページには空列の情報が書かれています。 その初期状態から、 個のクエリを与えられる順に実行し、各クエリの実行直後における の末尾の要素を出力してください。
なお、入出力の量が多くなる場合があるので、高速な方法で入出力を行うことを推奨します。
制約
- は整数
- 与えられるクエリは問題文中の 種類のいずれか
入力
入力は以下の形式で標準入力から与えられる。
出力
下記の形式にしたがい、 について、 番目までのクエリを実行した直後の の末尾の要素 を( が空の場合は とする)出力せよ。
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
はじめ、 は空列、すなわち であり、ノートのすべてのページには空列の情報が書かれています。
- 番目のクエリによって、 の末尾に が追加され、 となります。
- 番目のクエリによって、ノートの ページ目に書かれた数列が になります。 は変わらず です。
- 番目のクエリによって、 の末尾に が追加され、 となります。
- 番目のクエリによって、ノートの ページ目に書かれた数列が になります。 は変わらず です。
- 番目のクエリによって、 がノートの ページ目に書かれた数列 で置き換えられ、 となります。
- 番目のクエリによって、 の末尾の要素が削除され、 となります。
- 番目のクエリでは、 がすでに空であるので何もしません。 は変わらず です。
- 番目のクエリによって、 がノートの ページ目に書かれた数列 で置き換えられ、 となります。
- 番目のクエリによって、ノートの ページ目に書かれた数列が になります。 は変わらず です。
- 番目のクエリによって、 がノートの ページ目に書かれた数列 で置き換えられ、 となります。
- 番目のクエリによって、 がノートの ページ目に書かれた数列 で置き換えられ、 となります。
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