金桔玩方块
题号:NC21536
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

金桔喜欢玩俄罗斯方块,现在有一个带N列的平台。在这个平台上,一些方块会相继出现。如果列中没有方块,则方块将占据底部行。否则,方块将停留在该列的最高方块的顶部。
当所有n列中最底行均有一个方块时,最底行将被清空,你会得到1分,剩下的所有方块会掉下一行。
现在将会依次按顺序出现m方块,且金桔知道它们将会降落的列号。
金桔的任务是计算她将收到的分数。

输入描述:

第一行输入包含两个整数n和m——平台的列数和方块的数目。
下一行包含m个整数c1,c2,…,cm列,分别代表第i个方块将会出现在ci列。

输出描述:

输出一个整数,代表金桔的最终得分
示例1

输入

复制
3 9
1 1 2 2 2 3 1 2 3

输出

复制
2

说明

出现第6个方块之后将会删除最底行(平台上的方块的计数从[2 3 1]变为[1 2 0])。
在第9次方块降落之后,将是[2 3 1],在移除一行之后,变为[1 2 0]。
所以答案等于2。

备注:

(1≤n,m≤10000)
(1≤ci≤n)