#include<iostream> #include<map> using namespace std; int main() { int N,M,c; int max; bool ab=false; int z; int j; map<int,int>a; map<int ,int>::iterator pos; while(scanf("%d%*c%d%*c",&N,&M)!=EOF) { z=0; max=0; ab=false; a.clear(); for(int i=0;i<N;i++) { scanf("%d%*c",&c); a[c]=1; } j=a.size(); if(j>=M) { for(pos=a.begin();pos!=a.end();pos++) { if(j>M)j--;//输出后面M个数; else { if(ab) cout<<" ";输出空格的方法 ab=true; printf("%d",pos->first); } } } else printf("-1"); printf("/n"); } return 0; } map没有clear()wr了一次