atcoder#ABC237G. [ABC237G] Range Sort Query

[ABC237G] Range Sort Query

配点 : 600600

問題文

1,2,,N1,2,\ldots,N を並び替えた長さ NN の順列 P=(P1,P2,,PN)P=(P_1,P_2,\ldots,P_N) と整数 XX が与えられます。

また、QQ 個のクエリが与えられます。 ii 番目のクエリは 33 つの数の組 (Ci,Li,Ri)(C_i,L_i,R_i) で表されます。各クエリでは順列 PP に対して次の操作を行います。

  • Ci=1C_i=1 のとき : PLi,PLi+1,,PRiP_{L_i},P_{L_i+1},\ldots,P_{R_i} を昇順に並び替える。
  • Ci=2C_i=2 のとき : PLi,PLi+1,,PRiP_{L_i},P_{L_i+1},\ldots,P_{R_i} を降順に並び替える。

クエリを 11 番目から順に最後まで処理したとき、最終的な順列において Pi=XP_i=X となる ii を求めてください。

制約

  • 1N2×1051 \leq N \leq 2\times 10^5
  • 1Q2×1051 \leq Q \leq 2\times 10^5
  • 1XN1 \leq X \leq N
  • (P1,P2,,PN)(P_1,P_2,\ldots,P_N)(1,2,,N)(1,2,\ldots,N) の並び替えである。
  • 1Ci21 \leq C_i \leq 2
  • 1LiRiN1 \leq L_i \leq R_i \leq N
  • 入力は全て整数である。

入力

入力は以下の形式で標準入力から与えられる。

NN QQ XX

P1P_1 P2P_2 \ldots PNP_N

C1C_1 L1L_1 R1R_1

C2C_2 L2L_2 R2R_2

\vdots

CQC_Q LQL_Q RQR_Q

出力

答えを出力せよ。

5 2 1
1 4 5 2 3
1 3 5
2 1 3
3

最初、順列は P=[1,4,5,2,3]P=[1,4,5,2,3] です。 これはクエリによって次のように変化します。

  • 11 つめのクエリでは 33 番目から 55 番目の要素を昇順にソートします。順列は P=[1,4,2,3,5]P=[1,4,2,3,5] となります。
  • 22 つめのクエリでは 11 番目から 33 番目の要素を降順にソートします。順列は P=[4,2,1,3,5]P=[4,2,1,3,5] となります。

最終的な順列において P3=1P_3=1 であるので、33 を出力します。

7 3 3
7 5 3 1 2 4 6
1 1 7
2 3 6
2 5 7
7

最終的な順列は P=[1,2,6,5,7,4,3]P=[1,2,6,5,7,4,3] となります。