Yuulis.log

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

【AtCoder】ABC 340 B - Append | 茶コーダーが解くAtCoder

atcoder.jp

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

問題概要

空の数列  A に対してクエリが  Q 個与えられるので、順に処理せよ。クエリは次の2種類ある。

  • 1 x :  A の末尾に  x を追加する。
  • 2 k :  A の後ろから  k 番目の値を出力する。なお、このクエリが与えられるとき、  A の長さは  k 以上であることが保証される。

制約

  •  1 \leq Q \leq 100
  •  1 \leq x \leq 10^9

考察

 1 \leq Q \leq 100 と制約が非常に小さいので、計算量について特に気にする必要はない。それぞれのクエリに対する処理を丁寧に実装していくだけ。

コード

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

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

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

int main()
{
    int Q;
    cin >> Q;

    vector<int> A;
    rep(i, 0, Q)
    {
        int t;
        cin >> t;

        if (t == 1)
        {
            int x;
            cin >> x;
            A.push_back(x);
        }
        else if (t == 2)
        {
            int k;
            cin >> k;

            cout << A[A.size() - k] << endl;
        }
    }
}

atcoder.jp

実装時間: 5分