博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeForces 876B Divisiblity of Differences (数学水题)
阅读量:6716 次
发布时间:2019-06-25

本文共 1730 字,大约阅读时间需要 5 分钟。

You are given a multiset of n integers. You should select exactly k of them in a such way that the difference between any two of them is divisible by m, or tell that it is impossible.

Numbers can be repeated in the original multiset and in the multiset of selected numbers, but number of occurrences of any number in multiset of selected numbers should not exceed the number of its occurrences in the original multiset.

Input

First line contains three integers n, k and m (2 ≤ k ≤ n ≤ 100 000, 1 ≤ m ≤ 100 000) — number of integers in the multiset, number of integers you should select and the required divisor of any pair of selected integers.

Second line contains n integers a1, a2, ..., an (0 ≤ ai ≤ 109) — the numbers in the multiset.

Output

If it is not possible to select k numbers in the desired way, output «No» (without the quotes).

Otherwise, in the first line of output print «Yes» (without the quotes). In the second line print k integers b1, b2, ..., bk — the selected numbers. If there are multiple possible solutions, print any of them.

Example

Input
3 2 3
1 8 4
Output
Yes
1 4
Input
3 3 3
1 8 4
Output
No
Input
4 3 5
2 7 7 7
Output
Yes
2 7 7

题意:

给出n个数字,问能否从中挑选出k个数,使这k个数任意之间的差能被m整除。

题解:

k个数对m取模的结果肯定都是相等的,记录一下取模后结果相等的有多少个数就OK。

#include
#include
#include
using namespace std;const int maxn=1e5+5;int a[maxn];int has[maxn];int main(){ int n,k,m; while(cin>>n>>k>>m) { memset(has,0,sizeof(has)); int flag=-1; for(int i=0;i
>a[i]; if(++has[a[i]%m]>=k) { flag=a[i]%m; } } if(flag==-1) cout<<"No"<

转载于:https://www.cnblogs.com/orion7/p/7774515.html

你可能感兴趣的文章
1、脱硫塔工作原理
查看>>
mysql存储过程变量的拼接
查看>>
laravel 加载指定版本的mongodb
查看>>
给pcm格式文件加wav文件头
查看>>
高精度模板(含加减乘除四则运算)
查看>>
[Swust OJ 797]--Palindromic Squares(回文数水题)
查看>>
【Java】提取JSON数值时遇到数组集合时使用的K-V方式转换
查看>>
ZigZag Conversion
查看>>
Linux杂记
查看>>
关于Mvvm的一些深入理解
查看>>
VC实现自绘图形输出到bmp文件
查看>>
flex中的括号
查看>>
【转】scrapy爬取深度设置
查看>>
面试题第二弹
查看>>
WPF MVVM 从Prism中学习设计模式之Event Aggregator 模式
查看>>
牛客暑假多校第六场 I Team Rocket
查看>>
年后跳槽如何准备?(转)
查看>>
Eclipse常用设置汇总
查看>>
python 字典dict类型合并(不能错过哦)
查看>>
程序练习1
查看>>