問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
N 個の要素からなる数列 A と数値 K が与えられます。 A のすべての要素を順に双方向リストの末尾に追加したのち、双方向リストの先頭から K 個の要素を削除してください。最後に、双方向リストのデータをすべて出力してください。
また、双方向リストの先頭から要素を削除するには下記の 3 つの処理をおこなう必要があります。
1. 双方向リスト内にノードが存在するとき、以下の処理をおこなう
2. 先頭付近の、次のノードを指す配列 next_ptr
を変更
3. 前のノードを指す配列 prev_ptr
を変更
N K
A_1
A_2
...
A_N
操作後の双方向リスト B 内のノードの値を先頭から順に改行区切りで出力してください。末尾に改行を入れ、余計な文字、空行を含んではいけません。
B_1
B_2
...
すべてのテストケースにおいて、以下の条件をみたします。
・ N は 1 以上 100 未満
・ K は 0 以上 N 未満
・ A_i は 1 以上 100 未満
4 3
9
5
2
8
8
5 2
3
7
6
5
9
6
5
9