AtCoder Beginner Contest 235 C 問題 The Kth Time Query
問題
提出解答
問題の概要
長さ の列 が与えられる.
次の 個の質問に答えよ. ただし, 番目の質問は整数の組 で与えられる.
- の項を第 項から見たとき, が 回目に登場するのは の第何項目か (存在しない場合, その旨を報告せよ)?
制約
解法
以下のようなデータ構造 を作成する.
- は に が何回登場するかを記録する.
- は長さ の配列で, の第 項目には, において, が 番目に登場するときの の添字番号とする.
このようなデータ構造は辞書やリストを用いて作成できる (なお, は から求められる場合もあるので, 場合によっては省略可能).
このデータ構造 を用いて, 質問 に答えることができる.
- ならば, 答えは存在しない.
- ならば, の第 項目が答えである.
以上から計算量 や で求めることができる.