CF1982F Sorting Problem Again

题目描述

已知一个序列,给定 $q$ 次修改。对于初始序列和每次修改后的序列,你需要做到: 找到长度最小的连续的子串,使得如果这个子串按升序排序,整个序列也就满足单调不降。输出这个子串的起始位置 $l, r$;若此时序列已经满足单调不降,认为 $l, r$ 均为 $-1$。 注意,对这个子串的“升序排序”只是一个假想出的操作,并不会改变原序列。

输入格式

**本题有多组数据**。 第一行输入一个正整数 $T$($1 \leq T \leq 10$),表示测试数据的组数。对于每组数据: 第一行输入序列长度 $n$($1 \leq n \leq 5 \cdot 10^5$)。 第二行输入 $n$ 个整数 $a_i$,即给定的序列($0 \leq |a_i| \leq 10^9$)。 第三行输入修改操作的个数 $q$($0 \leq q \leq 5 \cdot 10^5$)。 接下来 $q$ 行,每行输入两个整数 $p$ 和 $v$($1 \leq p \leq n$ 且 $0 \leq |v| \leq 10^9$),表示 $a_p \gets v$。 保证 $\sum n, \sum q \leq 5 \cdot 10^5$。

输出格式

对于每组测试数据,输出 $q + 1$ 行。 每行输出两个整数 $l, r$,含义见题面。

说明/提示

对于第一个样例: - 一开始,序列 $a$ 已经满足单调不降:$[2, 2, 3, 4, 5]$。 - 第一次修改后,序列 $a$ 长这样:$[\color{red}{2}\color{black}{}, \color{red}{1}\color{black}{}, 3, 4, 5]$。 - 第二次修改后,序列 $a$ 长这样:$[\color{red}{2}\color{black}{}, \color{red}{1}\color{black}{}, \color{red}{3}\color{black}{}, \color{red}{1} \color{black}{},5]$。 - 第三次修改后,序列 $a$ 长这样:$[1, 1, \color{red}{3}\color{black}{}, \color{red}{1}\color{black}{}, 5]$。 标红的部分即为题目所求。