BZPRO
#5274. lian
内存限制:512 MiB
时间限制:80 Sec
提交
提交记录
讨论
题目描述
首先我们定义两个多重集A和B的大小关系,找到最小的整数x使得在两个多重集中出现次数不同,然后整数x出现次
数大的多重集更小。如果这样的x不存在,那么相等。
比如{1,2,3}<{1,3,3,5},{1,1,4,4}<{1,1,4}。
给你一个长为n的序列,序列中每个数字在1到n之间。
对于任意一个区间[l,r],这里面的数字a_l,a_{l+1},…,a_r会形成一个多重集,一共形成n*(n+1)/2个多重集。
现在请输出这些多重集中第p小的到第q小的多重集对应的区间是什么
如果两个多重集一样大,那么我们认为对应的区间的左端点较小的更小。
输入格式
第一行三个正整数n,p,q
接下来一行n个1到n之间的整数,表示这个序列,序列下标从1开始标号。
n<=100000,1<=p<=q<=n*(n+1)/2且q<=p+100000
输出格式
输出q-p+1行,每行两个正整数表示多重集对应的区间。
样例
样例输入
6 10 13
1 2 1 3 5 1
样例输出
2 3
3 5
4 6
3 4
数据范围与提示