// No.123 カードシャッフル // https://yukicoder.me/problems/no/123 // #include #include #include using namespace std; void do_shuffle(vector &deck, vector &shuffles); int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); int N, M; cin >> N >> M; // シャッフル操作の情報 vector shuffles(M); for (auto i = 0; i < M; ++i) cin >> shuffles[i]; // カードを用意 vector deck(N); for (auto i = 1; i <= N; ++i) deck[i-1] = i; // シャッフルして、一番上のカードを確認 do_shuffle(deck, shuffles); cout << deck[0] << endl; } void do_shuffle(vector &deck, vector &shuffles) { for (auto s: shuffles) { int tmp; tmp = deck.at(s-1); deck.erase(deck.begin() + s-1); deck.insert(deck.begin(), tmp); } }