题号:NC15430
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
给你一个序列,每次查询一段区间中长度为 1,2,...,10 的极长值域连续段个数
定义值域连续段为:
把区间里面所有数排序后去重,设排序后得到的序列为 b
如果对于二元组(l,r) 满足 bl,bl+1,...,br 中每个数为前一个数 +1
而且对于二元组(l,r+1),(l-1,r) 均不满足,我们称 (l,r) 为一个长度为 r-l+1 的极长值域连续段
输入描述:
第一行两个数n,m,表示序列的长度和查询的次数
之后一行n个数表示这个序列
之后m行每行两个数l,r表示查询的区间
输出描述:
对于每次询问,输出一个长度为10的字符串,第i个字符表示长度为i的极长连续段个数mod 10的结果
示例1
输入
复制
5 5
1 2 4 5 6
1 5
1 2
3 4
3 5
4 5
输出
复制
0110000000
0100000000
0100000000
0010000000
0100000000
示例2
输入
复制
8 9
2 3 3 3 3 6 6 6
1 8
2 3
4 5
6 8
1 2
3 4
5 6
3 8
5 5
输出
复制
1100000000
1000000000
1000000000
1000000000
0100000000
1000000000
2000000000
2000000000
1000000000
备注:
对于100% 的数据,1≤ n,m,ai≤ 106。