Code
#include <stdio.h>
#include <string.h>
int hash[1000001];
int main()
{
int n;
int m;
int i;
int temp;
int flag=0;
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(hash,0,sizeof(hash));
for(i=0;i<n;i++)
{
scanf("%d",&temp);
hash[temp+500000]=1; //数据范围是-50000~+50000,考虑负数
}
flag=0;
int count=0;
for(i=1000000;i>=0;i--)
{
if(hash[i])
{
if(!flag)
{
printf("%d",i-500000);
flag=1;
}
else
{
printf(" %d",i-500000);
}
count++;
}
if(count==m)
break;
}
printf("\n");
}
return 0;
}
#include <stdio.h>
#include <string.h>
int hash[1000001];
int main()
{
int n;
int m;
int i;
int temp;
int flag=0;
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(hash,0,sizeof(hash));
for(i=0;i<n;i++)
{
scanf("%d",&temp);
hash[temp+500000]=1; //数据范围是-50000~+50000,考虑负数
}
flag=0;
int count=0;
for(i=1000000;i>=0;i--)
{
if(hash[i])
{
if(!flag)
{
printf("%d",i-500000);
flag=1;
}
else
{
printf(" %d",i-500000);
}
count++;
}
if(count==m)
break;
}
printf("\n");
}
return 0;
}