#mqc2026cspt101. 蒙自一中校庆 (anniversary)

蒙自一中校庆 (anniversary)

蒙自一中校庆 (anniversary)

题目背景

蒙自一中迎来了盛大的校庆!为了庆祝,学生会设计了 KK 款精美的校庆纪念章(编号为 1K1 \sim K)。同学们可以通过参与校园里的各项打卡活动来获得盲盒,拆开盲盒就能得到一枚随机款式的纪念章。 如果能集齐一套完整的纪念章(即编号 1K1 \sim K 各一枚),就可以去食堂兑换一份豪华的“过桥米线霸王餐”!

题目描述

小明在校庆活动中非常活跃,一共收集到了 NN 枚纪念章。但是盲盒开出的纪念章有很多重复的款式。 为了让更多同学吃上霸王餐,学生会推出了一个“以物易物”的规则: 任意 3 枚相同编号的纪念章,可以去学生会兑换 1 枚任意编号的全新纪念章。

现在小明手里有 NN 枚纪念章,请你帮他算一算,经过合理的兑换后,他最多能凑出多少套完整的纪念章(每套包含 1K1 \sim K 号各一枚)?

输入格式

第一行包含两个正整数 NNKK,分别表示小明拥有的纪念章总数,以及纪念章的款式总数。 第二行包含 NN 个正整数 A1,A2,,ANA_1, A_2, \dots, A_N1AiK1 \le A_i \le K),表示小明抽到的每一枚纪念章的编号。

输出格式

输出一个整数,表示小明最多能凑出的完整纪念章套数。

输入输出样例

样例输入 1

7 3
1 1 1 1 2 2 3

样例输出 1

1

样例解释 1

一共有3款纪念章。小明有4枚1号,2枚2号,1枚3号。 小明可以用 3枚1号纪念章 兑换 1枚2号纪念章(也可以不换)。但不管怎么换,他最多只能凑出 1 套完整的纪念章(包含1、2、3号各一枚)。

样例输入 2

10 3
1 1 1 1 1 1 2 2 2 2

样例输出 2

1

样例解释 2

小明有 6 枚 1 号,4 枚 2 号,0 枚 3 号。 要凑 2 套需要每种 2 枚:1 号多 4 枚,可兑换 4//3 = 1 枚任意章;2 号多 2 枚,不足以兑换;共需补充 2 枚 3 号,但只能提供 1 枚,因此无法凑出 2 套,最多只能凑 1 套。

数据规模与约定

对于 30%30\% 的数据:1N1001 \le N \le 1001K101 \le K \le 10。 对于 60%60\% 的数据:1N1041 \le N \le 10^41K501 \le K \le 50。 对于 100%100\% 的数据:1N1051 \le N \le 10^51K1001 \le K \le 1001AiK1 \le A_i \le K