题目大意:
如题所述
解题思路:
用空间换时间,定义一个大数组,然后输出即可
代码如下:
#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;
}