sort
水题的水解与不水解法对比
顿时无语 水解——----->
hash表------->
// File Name: hdu1425.cpp
// Author: rudolf
// Created Time: 2013年04月22日 星期一 16时53分10秒
#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<cstdio>
using namespace std;
const int maxn=1000005;
int num[maxn];
int cmp(const void *a,const void *b)
{
return *(int *)b-*(int *)a;
}
int main()
{
int m,n;
while(scanf("%d%d",&m,&n)!=EOF)
{
for(int i=0;i<m;i++)
scanf("%d",&num[i]);
qsort(num,m,sizeof(num[0]),cmp);
for(int i=0;i<n-1;i++)
{
printf("%d ",num[i]);
}
printf("%d\n",num[n-1]);
}
return 0;
}
// File Name: hdu1425hashbiao.cpp
// Author: rudolf
// Created Time: 2013年04月22日 星期一 18时13分10秒
#include<vector>
#include<list>
#include<map>
#include<set>
#include<deque>
#include<stack>
#include<bitset>
#include<algorithm>
#include<functional>
#include<numeric>
#include<utility>
#include<sstream>
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<ctime>
using namespace std;
const int maxn=1000001;
bool hash[maxn];
inline bool scan_d(int &num)
{
char in;
bool ASD=false;
in=getchar();
if(in==EOF)
return false;
while(in!='-'&&(in<'0'||in>'9'))
in=getchar();
if(in=='-')
{
ASD=true;
num=0;
}
else
num=in-'0';
while(in=getchar(),in>='0'&&in<='9')
{
num*=10;
num+=in-'0';
}
if(ASD)
num=-num;
return true;
}
int main()
{
int n,m,i,x,k;
while(cin>>n>>m)
{
memset(hash,false,sizeof(hash));
for(i=0;i<n;i++)
{
scan_d(x);
hash[x+500000]=true;
}
k=0;
for(i=maxn-1;k!=m;i--)
{
if(hash[i])
{
if(k++)
cout<<" ";
cout<<i-500000;
}
}
cout<<endl;
}
return 0;
}