#CF1969F. 卡牌配对

卡牌配对

卡牌配对

  • 时间限制:5 秒
  • 内存限制:512 MiB

题目描述

有一副包含 nn 张牌的牌组,每张牌都属于 kk 种类型之一。给定序列 a1,a2,…,ana_1,a_2,\ldots,a_n,它按从牌组顶部到底部的顺序表示每张牌的类型。nn 与 kk 均为偶数。

游戏开始时,你从牌组顶部抽取 kk 张牌。之后每一回合依次进行:

  1. 从手牌中选择恰好两张并打出;若两张牌类型相同,获得一枚硬币;
  2. 若牌组非空,从牌组顶部恰好抽取两张牌;
  3. 若手牌与牌组均为空,游戏结束,否则开始下一回合。

请计算最多能够获得多少枚硬币。

输入格式

第一行包含两个整数 n,kn,k。

第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

输出格式

输出一个整数,表示最多能够获得的硬币数。

样例输入 1

4 2
1 2 1 2

样例输出 1

0

样例输入 2

8 2
2 1 2 2 1 2 1 2

样例输出 2

1

样例输入 3

4 4
1 2 1 2

样例输出 3

2

样例输入 4

6 4
3 2 3 1 2 1

样例输出 4

3

样例输入 5

6 4
3 2 3 3 2 1

样例输出 5

2

样例输入 6

18 6
5 6 1 1 6 5 4 1 5 1 1 6 2 6 2 2 6 3

样例输出 6

6

样例输入 7

8 4
1 2 3 4 4 3 1 2

样例输出 7

2

样例输入 8

8 4
1 2 3 4 4 3 3 2

样例输出 8

3

数据范围

2≤k≤n≤10002\le k\le n\le1000,n,kn,k 均为偶数,1≤ai≤k1\le a_i\le k。

子任务编号 分值 特殊限制
1 20 n≤18n\le18 且 k≤12k\le12
2 40 n≤200n\le200
3 无特殊限制

每个测试点独立计分。