http://acm.hdu.edu.cn/showproble
m.php?pid=1425
#include<stdio.h>
int m,n;
const int N=1000005;
int a[N];
int quicksort(int l,int r){
if(l<r){
int low=l;
int high=r;
int x=a[l];
while(low<high){
while(low<high && a[high]>=x){
high--;
}
a[low]=a[high];
while(low<high && a[low]<x){
low++;
}
a[high]=a[low];
}
a[low]=x;
quicksort(l,low-1);
quicksort(low+1,r);
}
return 0;
}
int main(){
while(scanf("%d%d",&n,&m)!=EOF){
for(int j=0;j<=n-1;j++){
scanf("%d",&a[j]);
}
quicksort(0,n-1);
for(int i=n-1;i>n-m;i--)
printf("%d ",a[i]);
printf("%d",a[n-m]);
printf("\n");
}
}
m.php?pid=1425