这道题挺水,可是我没能写出来......后来想想真的很水.....
我们可以用vector来储存余数相同的几个数字,输入的时候每个数字都先对m取模,只要是同余数的,相减之后的差肯定是能整除m的
#include<iostream>
#include<vector>
using namespace std;
const int maxn=1e5+7;
vector<int> vec[maxn];
int main(){
int n,k,m;
cin>>n>>k>>m;
for(int i=0;i<n;i++){
int a;
cin>>a;
vec[a%m].push_back(a);
}
bool flag=true;
for(int i=0;i<m;i++){
if(vec[i].size()>=k){
cout<<"Yes"<<endl;
for(int j=0;j<k;j++){
cout<<vec[i][j]<<' ';
}
cout<<endl;
flag=false;
break;
}
}
if(flag) cout<<"No"<<endl;
}