http://acm.hdu.edu.cn/showproblem.php?pid=1425
一小心就会超时,这题我是时分深刻,
用hash吧
#include<iostream>
using namespace std;
int hash[1000001];
int main()
{
int i,n,m,t;
while(scanf("%d%d",&n,&m)!=EOF)
{
memset(hash,0,sizeof(hash));
i=n;
while(i--)
{
scanf("%d",&t);
hash[500000+t]++;
}
for(i=1000000;i>=0&&m>0;)
{
if(hash[i]>0)
{
m--;
hash[i]--;
if(m==0)
cout<<i-500000<<endl;
else
cout<<i-500000<<" ";
}
else
{
i--;
}
}
}
return 0;
}