本题的关键在于一个区间组成的数集的子集
m
e
x
mex
mex如何快速找出。假如子集
m
e
x
mex
mex为
a
n
s
+
1
ans+1
ans+1,那么
[
1
,
a
n
s
]
[1,ans]
[1,ans]这个区间内的数都可以组成。并且我们还知道这
[
1
,
a
n
s
]
[1,ans]
[1,ans]的数是由
[
1
,
l
e
f
]
[1,lef]
[1,lef]范围内的数组成的。那么我们只需要判断
[
l
e
f
+
1
,
a
n
s
+
1
]
[lef+1,ans+1]
[lef+1,ans+1]这个区间内有没有数。如果有数,说明
a
n
s
+
1
ans+1
ans+1不是子集
m
e
x
mex
mex,因为只要
[
l
e
f
+
1
,
a
n
s
+
1
]
[lef+1,ans+1]
[lef+1,ans+1]内有数就可以继续把区间链接起来。这时候我们把
[
l
e
f
+
1
,
a
n
s
+
1
]
[lef+1,ans+1]
[lef+1,ans+1]的区间和直接加到
a
n
s
ans
ans上。此时
[
1
,
a
n
s
]
[1,ans]
[1,ans]都是可以组成的。如果区间内没有数值,那么无论如何我们也无法组成
a
n
s
+
1
ans+1
ans+1,那么它就是答案。