题目大意:
如题所述
解题思路:
用空间换时间,定义一个大数组,然后输出即可
代码如下:
#include <stdio.h>
#include <string.h>
#define MAX 1000002
int data[MAX];
int main(void)
{
int m,n,i,temp,num_out;
while (scanf("%d%d",&n,&m)!=EOF)
{memset(data,0,sizeof(data));for(i=0;i<n;i++){scanf("%d",&temp);data[temp+500000]++;}num_out=0;for(i=MAX-1;i>0&&m>0;i--){while(data[i]--) {printf("%d",i-500000);num_out++;if(num_out==m)break;else printf(" ");}if(num_out==m) break;}printf("\n");
}
return 0;
}