CF180E Cubes
题目描述
假设你正在玩一个简单的电脑游戏。屏幕上显示有 $n$ 个排列在一起的方块。每个方块被涂上了 $m$ 种颜色中的一种。你最多可以删除不超过 $k$ 个方块(这些方块不一定是连续的)。在删除操作之后,剩下的方块会自动拼接在一起(即中间不会有空隙),系统然后会统计你的得分。你的得分等于剩下连续、颜色相同的方块所形成的最大序列的长度。请编写程序,计算你最多可以得到多少分。
请注意,你可以最多删除 $k$ 个任意的方块,也可以选择一个方块都不删。
输入格式
第一行包含三个整数 $n$、$m$ 和 $k$($1 \leq n \leq 2 \times 10^5, 1 \leq m \leq 10^5, 0 \leq k < n$)。
第二行包含 $n$ 个整数,每个整数在 $1$ 到 $m$ 之间,表示每个方块的颜色编号。颜色编号之间用一个空格隔开。
输出格式
输出你最多可以获得的分数。
说明/提示
在第一个样例中,你应该删除第 $5$ 和第 $6$ 个方块。
在第二个样例中,你应该删除第 $4$ 和第 $7$ 个方块。
在第三个样例中,你不需要删除任何方块。
由 ChatGPT 5 翻译