AT_past202107_l たくさんの最小値
Description
[problemUrl]: https://atcoder.jp/contests/past202107-open/tasks/past202107_l
長さ $ N $ の整数列 $ A=(A_1,\ A_2,\ \dots\ ,A_N) $ があります。
あなたは今からこの数列について $ Q $ 個のクエリを処理します。$ i $ 番目のクエリでは、 $ T_i,\ X_i,\ Y_i $ が与えられるので、以下の処理をしてください。
- $ T_i\ =\ 1 $ のとき
$ A_{X_i} $ を $ Y_i $ で置き換える。
- $ T_i\ =\ 2 $ のとき
$ A_{X_i},\ \ldots\ ,A_{Y_i} $の中での最小値を $ p $ とする。$ X_i\ \leq\ j\ \leq\ Y_i $ かつ $ A_j\ =\ p $ を満たす $ j $ を全て列挙する。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ Q $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $ $ T_1 $ $ X_1 $ $ Y_1 $ $ T_2 $ $ X_2 $ $ Y_2 $ $ : $ $ T_Q $ $ X_Q $ $ Y_Q $
Output Format
ある $ T_i\ =\ 2 $ のタイプのクエリにおいて、列挙すべき値が $ j_1,\ j_2,\ \dots\ ,\ j_M\ (\ j_1\ \lt\ j_2\ \lt\ \dots\ \lt\ j_M\ ) $ であるとする。 このとき以下の形式で $ 1 $ 行に出力せよ。
> $ M $ $ j_1 $ $ j_2 $ $ \dots $ $ j_M $
$ T_i\ =\ 2 $ のタイプのクエリの数を $ Q_2 $ 個とする。$ Q_2 $ 行出力せよ。
Explanation/Hint
### 注意
この問題に対する言及は、2021/7/17 18:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。 試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。
### 制約
- $ 1\ \leq\ N,\ Q\ \leq\ 2\ \times\ 10^5 $
- $ 0\ \leq\ A_i\ \leq\ 10^9 $
- $ T_i $ は $ 1 $ または $ 2 $
- $ T_i=1 $ ならば、$ 1\ \leq\ X_i\ \leq\ N $ かつ $ 0\ \leq\ Y_i\ \leq\ 10^9 $
- $ T_i=2 $ ならば、$ 1\ \leq\ X_i\ \leq\ Y_i\ \leq\ N $
- 入力は全て整数
- 列挙すべき $ j $ の個数の総和は $ 2\ \times\ 10^5 $ を超えない