CF876B Divisiblity of Differences
题目描述
给定一个包含 $n$ 个整数的多重集。你需要从中恰好选出 $k$ 个数,使得任意两个被选中的数之间的差都能被 $m$ 整除。如果无法做到,则输出“不可能”。
在原始多重集和选定的多重集中,数字可以重复出现,但在选定的多重集中,每个数字的出现次数不能超过其在原始多重集中的出现次数。
输入格式
第一行包含三个整数 $n$、$k$ 和 $m$($2 \leq k \leq n \leq 100000$,$1 \leq m \leq 100000$)——多重集中的整数个数、需选出的整数个数,以及任意两数之差的被整除数。
第二行包含 $n$ 个整数 $a_{1},a_{2},...,a_{n}$($0 \leq a_{i} \leq 10^{9}$)——多重集中的数字。
输出格式
如果无法按要求选出 $k$ 个数,输出“No”。
否则,第一行输出“Yes”。第二行输出 $k$ 个整数 $b_{1},b_{2},...,b_{k}$——选出的数字。如果有多组解,可输出任意一组。
说明/提示
由 ChatGPT 5 翻译