#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+5;
const int mm=5e5;//偏移量
int a[maxn],b[maxn];
int main()
{
int n,m;
while(scanf("%d%d",&n,&m)!=EOF){
memset(b,0,sizeof(b));
int k;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
k=a[i]+mm;//用下标表示输入的值
b[k]++;//标记相同数值的个数
}
int c=1;
for(int i=maxn;i>=0;i--){//下标从后往前遍历,代表从大到小
while(b[i]&&c<=m){
if(c==m){
printf("%d",i-mm);
c++;
break;
}
printf("%d ",i-mm);
b[i]--;
c++;
}
}
printf("\n");
}
return 0;
}
04-14
07-13
06-21
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交