問題
考察
各々の数字において、2回目が現れたのが若い順に並べて出力してくださいという問題です。そこで、各数字が何回現れたかを記録する配列を持たせておきます。ここでは$Bucket$と呼ぶことにします。$A$の要素を前から順に確認し、$Bucket_{A_i}$の要素に1を足す。これを繰り返し、$Bucket$の各要素が2になった順に答えを出力すればいいということになります。2になった順番を記録するにはキューなどを用意して$Bucket$の各要素が2になったときその添字をキューにプッシュすればいいです。
$N≦10^5$で計算量も$O(N)$であることから十分間に合いそうです。
提出コード(コンテスト後)
ご不明点などがあれば教えていただけると幸いです。