実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 15
問題概要
長さ の整数列 と整数 が与えられる。 の 番目の要素の直後に を挿入した整数列を出力せよ。
制約
- 入力はすべて整数。
考察
色々実装の方針がありそうだが、一番簡単なのはタイトルの通りvector::insert
を使う方法だろう。
insert
は第一引数に要素を挿入したい位置のイテレータ、第二引数に挿入したい要素を指定する。
挿入の処理には線形時間かかるせいで使いどころがあまりないので存在を忘れがち。
コード
#include <bits/stdc++.h> using namespace std; #define rep(i, start, end) for (auto i = (start); (i) < (end); (i)++) // ======================================== // int main() { int N, K, X; cin >> N >> K >> X; vector<int> A(N); rep(i, 0, N) cin >> A[i]; A.insert(A.begin() + K, X); for (auto &&a : A) { cout << a << " "; } cout << endl; }
実装時間: 5分以内