Range Sort Query
题目描述
给定一个长度为 N 的排列 P=(P1,P2,…,PN),它是 1,2,…,N 的一个排列。同时给定一个整数 X。
接下来有 Q 个查询。第 i 个查询由三个整数 (Ci,Li,Ri) 表示,需要对当前排列 P 执行如下操作:
- 若 Ci=1,将区间 PLi,PLi+1,…,PRi 按升序排序;
- 若 Ci=2,将区间 PLi,PLi+1,…,PRi 按降序排序。
按照给定顺序处理完所有查询后,求最终排列中满足 Pi=X 的下标 i。
输入格式
输入从标准输入给出,格式如下:
N Q X
P_1 P_2 ... P_N
C_1 L_1 R_1
C_2 L_2 R_2
...
C_Q L_Q R_Q
输出格式
输出最终排列中元素 X 所在的位置。
数据范围
- 1≤N≤2×105
- 1≤Q≤2×105
- 1≤X≤N
- (P1,P2,…,PN) 是 (1,2,…,N) 的一个排列。
- 1≤Ci≤2
- 1≤Li≤Ri≤N
- 输入均为整数。
样例
样例输入 1
5 2 1
1 4 5 2 3
1 3 5
2 1 3
样例输出 1
3
样例输入 2
7 3 3
7 5 3 1 2 4 6
1 1 7
2 3 6
2 5 7
样例输出 2
7
样例说明
样例 1 中,初始排列为 [1,4,5,2,3]。
- 第一次查询将第 3 到第 5 个元素升序排序,排列变为 [1,4,2,3,5];
- 第二次查询将第 1 到第 3 个元素降序排序,排列变为 [4,2,1,3,5]。
最终 P3=1,因此输出 3。
样例 2 中,最终排列为 [1,2,6,5,7,4,3],元素 3 在位置 7。