CF961A Tetris

题目描述

给定如下过程。 有一个长度为 $n$ 的平台,有 $n$ 列。$1 \times 1$ 的方块会依次出现在平台的某些列上。如果某一列没有方块,则方块会占据该列的最底部一行;否则,方块会出现在该列最高方块的正上方。 当所有 $n$ 列都至少有一个方块时,最底部的一行会被移除。你会因此获得 $1$ 分,剩下的所有方块会整体下落一行。 你的任务是计算你最终能获得多少分。

输入格式

输入的第一行包含两个整数 $n$ 和 $m$($1 \le n, m \le 1000$),分别表示平台的长度和方块的数量。 下一行包含 $m$ 个整数 $c_1, c_2, \dots, c_m$($1 \le c_i \le n$),表示第 $i$ 个方块会出现在第 $c_i$ 列。

输出格式

输出一个整数,表示你能获得的分数。

说明/提示

在样例中,答案为 $2$,因为在第 $6$ 个方块出现后会移除一行(此时各列方块数为 $[2~ 3~ 1]$,移除一行后变为 $[1~ 2~ 0]$)。 在第 $9$ 个方块出现后,各列方块数为 $[2~ 3~ 1]$,移除一行后变为 $[1~ 2~ 0]$。 所以答案为 $2$。 由 ChatGPT 4.1 翻译