CF864A.Fair Game

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Fair Game

题目描述

Petya 和 Vasya 决定玩一个游戏。他们有 nn 张卡片(nn 为偶数)。每张卡片上都写有一个整数。

在游戏开始前,Petya 会先选择一个整数,之后 Vasya 会选择一个与 Petya 不同的整数。游戏过程中,每位玩家会取走所有写有自己所选数字的卡片。例如,如果 Petya 选择了数字 55,那么他将取走所有写有 55 的卡片;如果 Vasya 选择了数字 1010,那么他将取走所有写有 1010 的卡片。

如果 Petya 和 Vasya 能取走全部 nn 张卡片,并且每人取到的卡片数量相同,则称这场游戏是公平的。

请判断是否存在一种选择方式,使得他们选择的两个整数使游戏公平。

输入格式

第一行包含一个整数 nn2n1002 \leq n \leq 100),即卡片的数量。保证 nn 是偶数。

接下来的 nn 行,每行一个整数 a1,a2,...,ana_{1},a_{2},...,a_{n}(每个 aia_{i} 满足 1ai1001 \leq a_{i} \leq 100),表示每张卡片上写的数字。

输出格式

如果不存在一种选择能让游戏公平,则第一行输出 “NO”。此时不需要输出其他内容。

如果存在合法的选择,第一行输出 “YES”。第二行输出两个不同的整数,分别为 Petya 和 Vasya 应选择的数字,以实现公平游戏。如果有多种方案,输出其中任意一种即可。

说明/提示

在第一个样例中,如果 Petya 选择 1111,Vasya 选择 2727,则他们都可以取走全部卡片——Petya 取走第 11 和第 44 张卡片,Vasya 取走第 22 和第 33 张卡片,两人恰好各取两张。

在第二个样例中,所有卡片上的数字相同,因此 Petya 和 Vasya 无法选择两个不同的数字使游戏公平。

在第三个样例中,不可能取走全部卡片。例如,若 Petya 选 1010,Vasya 选 2020,两人最多能取 55 张卡片。但要使游戏公平,必须取走所有 66 张卡片。

由 ChatGPT 5 翻译

样例

4
11
27
27
11
YES
11 27
2
6
6
NO
6
10
20
30
20
10
20
NO
6
1
1
2
2
3
3
NO

在线编程 IDE

建议全屏模式获得最佳体验