3372 - 火车扑克(card)

题目描述

A 和爸爸妈妈乘火车一起外出旅游。长途旅行让大家感觉有些枯燥乏味,小 A 提出打扑克的建议,得到了爸爸妈妈的一致响应。翻遍行李大家才发现,出门忘记带扑克了。

聪明的小 A 拿出自己带的空白卡纸,开始制作扑克,普通的扑克大家已经玩过很多次了,小 A 决定制作一副不一样的扑克,并给这副扑克牌取了一个响亮的名字:“火车扑克”。这副扑克牌中,每张牌的数值在 1 \sim N 的范围内,同样数值的牌可能会有多张

A 指定的赢牌规则为:如果在某个时刻,玩家手上有 3 \times M + 2 张牌,且这 3 \times M + 2 张牌中,有 2 张牌是 1 个对子(2 张牌数值相同),其余 3 \times M 张牌平均分为 M 组,每组的 3 张牌恰好是顺子(3 张牌排序后两两差值为 1,比如:1 2 310 11 12等)或者 3 张牌完全相同(比如:2 2 210 10 10 等),那么该玩家赢牌。

A 发明了游戏中的一个名词:关键牌。关键牌的含义是:如果玩家手上有 3 \times M +1 张牌,再拿到某张牌 X 玩家就可以赢牌,那么这张牌 X 就是关键牌。

现给出 3 \times M + 1 张牌,请编程计算出,关键牌 X 可能的值有哪些?

输入

1 行输入两个整数 N,M

2 行输入 3 \times M + 1 个整数,代表玩家手上的牌,每张牌的数值都在 1 \sim N 的范围内。

输出

按照从小到大的顺序输出若干个数,代表关键牌 X 可能的数值。如果根据玩家手上的牌,找不到任何关键牌,请输出 NO

样例

输入

9 4
3 3 5 5 4 4 7 7 7 9 1 1 1

输出

8 9

输入

9 4
8 8 8 2 3 4 5 6 9 1 7 7 7

输出

7 8 9

输入

18 6
1 1 2 2 5 5 5 8 9 12 13 15 16 16 17 17 18 18 18

输出

NO
说明

样例 1 解释

如果再拿到值为 8 的牌,那么,可以将牌分为: 一对 73 4 53 4 57 8 9,符合题目的要求。

同理,如果再拿到值为 9 的牌,也能符合题目的赢牌要求。

数据范围

对于 40\% 的数据,9 \le N \le 204 \le M \le 30

对于 100\% 的数据,9 \le N \le 4004 \le M \le 1000

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 108
通过人数 36
金币数量 0 枚
难度 基础


上一题 下一题