MEX of MEXes
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在这个问题中,某个数组的 MEX 是不包含在这个数组中的最小整数。

给你一个长度为 \ n\ 的排列 \ a\ 。考虑该排列的所有非空连续子数组,并计算每个子数组的 MEX 并放到数组\ b\中然后,计算数组\ b\的 MEX。

如果一个由 \ n\ 个数字组成的序列恰好包含一次从 1 到 \ n\ 的所有数字,那么这个序列就叫做排列。

如果数组 \ b\可以通过删除数组开头的几个元素(可能没有或全部)和数组结尾的几个元素(可能没有或全部)从 \ a\ 中得到,那么数组 \ b\ 就是数组 \ a\ 的连续子数组。特别地,数组是它自身的连续子数组。

输入描述:

第一行输入一个整数\ n\ \ (1\leq n\leq 10^5)-- 排列的长度
下一行包含\ n\个整数\ a_{1},a_{2},…,a_{n}(1\leq a_{i}\leq n)\

输出描述:

输出一个整数--数组\ b\的MEX。
示例1

输入

复制
3
2 3 1

输出

复制
3

说明

可以知道,该排列的所有子数组即其MEX分别为
{2} MEX=1
{3} MEX=1
{1} MEX=2
{2,3} MEX=1
{3,1} MEX=2
{2,3,1} MEX=4
所以数组b为{1,1,2,1,2,4}
数组b的MEX为3
示例2

输入

复制
3
1 2 3

输出

复制
5

说明

可以知道,该排列的所有子数组即其MEX分别为
{1} MEX=2
{2} MEX=1
{3} MEX=1
{1,2} MEX=3
{2,3} MEX=1
{1,2,3} MEX=4
所以数组b为{2,1,1,3,1,4}
数组b的MEX为5