给定一个长度为 n 的初始全零数组,进行了 m 次区间赋值操作,第 i 次操作将区间 [li,ri] 内的所有元素赋值为 i。我们仅给出最终数组 a,要求还原每一次操作的区间 [li,ri]。
小红有一个长度为n的数组{a1,a2,...,an},数组初值全部为0,小红会进行m次操作,第i次操作为将区间[li,ri]内的数全部修改为i。
现在小红拿到了m次操作之后的数组a,小红想知道每一次操作的区间[li,ri]。
第一行输入两个整数n,m(1≤n,m≤105),表示数组长度和操作次数。
第二行输入n个整数a1,a2,...,an(0≤ai≤m),表示m次操作之后的数组。
输出m 行,每行两个整数li,ri,表示第i次操作的区间。如果有多种答案,输出任意一种。数据保证答案存在。
输入
5 4
1 2 4 2 3
输出
1 5
2 4
5 5
3 3
第一次操作将区间[1,5]内的数全部修改为1,得到数组[1,1,1,1,1]。
第二次操作将区间[2,4]内的数全部修改为2,得到数组[1,2,2,2,1]。
第三次操作将区间[5,5]内的数全部修改为3,得到数组[1,2,2,2,3]。
第四次操作将区间[3,3]内的数全部修改为4,得到数组[1,2,4,2,3]。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.