QOJ.ac

QOJ

時間限制: 2 s 記憶體限制: 1024 MB 總分: 100 可 Hack ✓

#16893. 冒险卡牌游戏

统计

世界著名游戏公司 KDH Corp. 开发的卡牌回合制冒险游戏《大意卡牌抓怪游戏》终于在今天发布了!以下是游戏规则说明书:

  • 玩家初始时手中持有 1 号到 $K$ 号卡牌各一张。
  • 游戏共包含 $N$ 个回合,每个回合中最多会出现 1 只 1 号到 $K$ 号之间的怪物。
  • 玩家在每个回合最多可以打出手中持有的 2 张卡牌。也可以选择不打出任何卡牌直接跳过回合。
  • 在怪物出现的当回合,如果玩家打出与该怪物编号相同的卡牌,即可用该卡牌击败怪物。
  • 如果在某回合出现的怪物未能在该回合被击败,怪物会在回合结束后逃跑。
  • 当玩家打光手中所有卡牌后,在回合结束后会重新获得 1 号到 $K$ 号卡牌各一张。
  • 击败的怪物越多,获得的分数越高。

民间游戏高手道勋在《大意卡牌抓怪游戏》发布后立即占据了第一名的位置,但他的竞争对手姜民正在威胁他的榜首地位!焦急的道勋想要通过预先记录下可能达到的最高分数来防止被抢走第一名。为了让道勋更稳固地占据第一名,请计算出在每局游戏中能够击败的怪物数量的最大值。

输入格式

第一行包含游戏的总回合数 $N$ 和卡牌及怪物的种类数 $K$,中间用空格分隔。($1 \le N, K \le 500\,000$)

第二行包含各回合出现的怪物种类 $c_1, c_2, \dots, c_N$,中间用空格分隔。($0 \le c_i \le K$) 若 $c_i = 0$,则表示第 $i$ 回合没有怪物出现。

输出格式

输出能够击败的怪物数量的最大值。

样例

输入 1

6 4
1 1 2 2 3 3

输出 1

5

输入 2

10 5
1 2 2 0 3 3 0 5 4 4

输出 2

7

说明

在第一个样例中,如果按以下顺序在各回合打出卡牌,除了第 2 回合出现的 1 号怪物外,可以击败所有怪物。

i. 打出 1 号卡牌和 3 号卡牌,击败 1 号怪物。 ii. 打出 4 号卡牌。1 号怪物未被击败,逃跑了。 iii. 打出 2 号卡牌,击败 2 号怪物。

  • 四张卡牌已全部打出,回合结束后重新获得所有卡牌。

iv. 打出 1 号卡牌和 2 号卡牌,击败 2 号怪物。 v. 打出 3 号卡牌和 4 号卡牌,击败 3 号怪物。

  • 四张卡牌已全部打出,回合结束后重新获得所有卡牌。

vi. 打出 3 号卡牌,击败 3 号怪物。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.