#L2679. 「BalticOI 2010」箱子 bins 题目描述

「BalticOI 2010」箱子 bins 题目描述

  1. 「BalticOI 2010」箱子 bins 题目描述

工厂仓库中有大量空箱子,箱子排列在一行里。仓库的经理想把一些箱子放入其他箱子中,以在仓库的左端腾出一些空间。机器人可以拿起箱子、向右移动,并把它放进一个更大的垃圾箱。只允许以这种方式移动垃圾箱。

由于安全方面的规定,任何箱子最多可容纳一个箱子,且这个箱子必须是空的。

经理也希望所有双箱子放在最左端,来方便跟踪他们。

你要编写一个程序来计算最大可能的 KK,使最左边的 KK 个箱子可以按照某种顺序放入紧接着的 KK 个箱子中。

输入格式

第一行包含用空格分隔的两个整数:MM1M10001 \le M \le 1000),表示最大箱子的大小,以及箱子数 NN1N200001 \le N \le 20000)。

第二行包含 NN 个整数 AiA_i1AiM1 \le A_i \le M),用空格分隔,从左至右表示箱子的大小。

输出格式

输出一行一个整数,表示最大的整数 KK,使得机器人可以将最左边的 KK 个箱子放入紧接着的 KK 个箱子中。

样例

输入

text 5 10 2 2 1 4 3 2 5 4 2 3 输出

text 4 解释:前 4 个箱子(大小 2,2,1,4)可以放入接下来的 4 个箱子(大小 3,2,5,4)中,但前 5 个箱子无法放入接下来的 5 个箱子中。

数据范围

1M10001 \le M \le 1000

1N200001 \le N \le 20000

1AiM1 \le A_i \le M