Yuulis.log

トンネルを抜けるとそこは参照エラーであった。

【AtCoder】ABC 368 A - Cut | 茶コーダーが解くAtCoder

atcoder.jp

実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 20

問題概要

 N 枚からなるカードの山があり、上から  i 枚目には整数  A_i が書かれている。ここで、山の下から  K 枚を取り出し、順序を保ったまま山の上に乗せた。このとき、各カードに書かれた整数を山の上から順に出力せよ。

制約

  • 入力はすべて整数。
  •  1 \leq K \lt N \leq 100
  •  1 \leq A_i \leq 100

考察

山の下から  K 枚目ということは、山の上から数えると  N - K + 1 枚目である。つまり、 [tex: A{N-K+1}, A{N-K+2}, \cdots, A_N] の順に出力した後、続けて  A_1, A_2, \cdots, A_{N-K} と出力すればよい。

実装時は 0-indexed とすることに注意すること。

コード

#include <bits/stdc++.h>
using namespace std;

#define rep(i, start, end) for (auto i = (start); (i) < (end); (i)++)

// ======================================== //

int main()
{
    int N, K;
    cin >> N >> K;
    vector<int> A(N);
    rep(i, 0, N) cin >> A[i];

    rep(i, N - K, N) cout << A[i] << " ";
    rep(i, 0, N - K) cout << A[i] << " ";
    cout << endl;
}

atcoder.jp

実装時間 : 5分