CF961A.Tetris

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Tetris

题目描述

给定如下过程。

有一个长度为 nn 的平台,有 nn 列。1×11 \times 1 的方块会依次出现在平台的某些列上。如果某一列没有方块,则方块会占据该列的最底部一行;否则,方块会出现在该列最高方块的正上方。

当所有 nn 列都至少有一个方块时,最底部的一行会被移除。你会因此获得 11 分,剩下的所有方块会整体下落一行。

你的任务是计算你最终能获得多少分。

输入格式

输入的第一行包含两个整数 nnmm1n,m10001 \le n, m \le 1000),分别表示平台的长度和方块的数量。

下一行包含 mm 个整数 c1,c2,,cmc_1, c_2, \dots, c_m1cin1 \le c_i \le n),表示第 ii 个方块会出现在第 cic_i 列。

输出格式

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

说明/提示

在样例中,答案为 22,因为在第 66 个方块出现后会移除一行(此时各列方块数为 [2 3 1][2~ 3~ 1],移除一行后变为 [1 2 0][1~ 2~ 0])。

在第 99 个方块出现后,各列方块数为 [2 3 1][2~ 3~ 1],移除一行后变为 [1 2 0][1~ 2~ 0]

所以答案为 22

由 ChatGPT 4.1 翻译

样例

3 9
1 1 2 2 2 3 1 2 3
2

在线编程 IDE

建议全屏模式获得最佳体验