【AOJ 1367】Rearranging a Sequence
問題
Rearranging a Sequence | Aizu Online Judge
方針
- 与えられたM個の値を逆順に出力する.
- 出力したかどうかを管理しておき, 1回も出力していない場合に限って出力を行う.
コード
#include<bits/stdc++.h> #define rep(i, n) REP(i, 0, n) #define REP(i, a, n) for(int i = a ; i < (int)n ; i++) using namespace std; int change[200001]; bool flag[200001]; signed main(){ int n, m; cin >> n >> m; rep(i, m){ cin >> change[i]; } fill(flag, flag+20000, false); reverse(change, change+m); rep(i, m){ if(!flag[change[i]]){ cout << change[i] << endl; flag[change[i]] = true; } } REP(i, 1, n+1){ if(!flag[i]) cout << i << endl; } }