给定长度为 的非负整数序列 。
你需要将这个序列划分为尽可能多个子序列,使得:
设子序列个数为 ,你只需要求出满足条件的 的最大可能值。如果不存在满足条件的 ,输出 。
子序列的定义:从原序列中选取一部分元素,不改变它们在原序列中的相对顺序,得到的新序列。
非负整数序列的 的定义:该序列中没有出现过的最小非负整数。例如:
第一行,一个正整数 ,表示序列长度。
第二行, 个非负整数 。
输出一行,一个非负整数,表示 的最大可能值。如果不存在满足条件的 ,输出 。
5 1 0 4 1 0
2
6 1 1 4 5 1 4
0
7 1 9 1 9 8 1 0
1
8 1 3 8 0 0 98 40 138
【样例解释 #1】
序列为 。
将 划分进第一个子序列, 划分进第二个子序列,此时:
该划分方案满足条件,且有 。
可以证明不存在划分为更多子序列的方案。
【数据范围】
对于所有数据,保证 ,。