naoの勉強部屋

ここは勉強ログ用。気になったことだけ、短く大雑把書く

Atcoder ABC228 D問題

考え方

atcoder.jp

  1. 数列 A を-1で初期化する。
  2. 1-Nを要素として持つ順序付きの集合Sを用意する。
  3. tが1だった場合、順序付き集合Sからx_i以上となる最小の要素iを探し、A_ix_iを代入する。
  4. 順序付き集合Sから要素iを除外する。
  5. tが2だった場合、{{A_x}_i}を表示する

注意点

x_i以上となる最小の要素を探すとき、順序集合Sの最期まで行ってしまったら、順序集合の先頭の要素iを取得する

感想

解き方を理解してしまえばなんてことはない問題だが、本番でスッと出てこない。競プロは継続して力をつけていこう。