CF864A Fair Game

题目描述

Petya 和 Vasya 决定玩一个游戏。他们有 $n$ 张卡片($n$ 为偶数)。每张卡片上都写有一个整数。 在游戏开始前,Petya 会先选择一个整数,之后 Vasya 会选择一个与 Petya 不同的整数。游戏过程中,每位玩家会取走所有写有自己所选数字的卡片。例如,如果 Petya 选择了数字 $5$,那么他将取走所有写有 $5$ 的卡片;如果 Vasya 选择了数字 $10$,那么他将取走所有写有 $10$ 的卡片。 如果 Petya 和 Vasya 能取走全部 $n$ 张卡片,并且每人取到的卡片数量相同,则称这场游戏是公平的。 请判断是否存在一种选择方式,使得他们选择的两个整数使游戏公平。

输入格式

第一行包含一个整数 $n$($2 \leq n \leq 100$),即卡片的数量。保证 $n$ 是偶数。 接下来的 $n$ 行,每行一个整数 $a_{1},a_{2},...,a_{n}$(每个 $a_{i}$ 满足 $1 \leq a_{i} \leq 100$),表示每张卡片上写的数字。

输出格式

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

说明/提示

在第一个样例中,如果 Petya 选择 $11$,Vasya 选择 $27$,则他们都可以取走全部卡片——Petya 取走第 $1$ 和第 $4$ 张卡片,Vasya 取走第 $2$ 和第 $3$ 张卡片,两人恰好各取两张。 在第二个样例中,所有卡片上的数字相同,因此 Petya 和 Vasya 无法选择两个不同的数字使游戏公平。 在第三个样例中,不可能取走全部卡片。例如,若 Petya 选 $10$,Vasya 选 $20$,两人最多能取 $5$ 张卡片。但要使游戏公平,必须取走所有 $6$ 张卡片。 由 ChatGPT 5 翻译