hdu1425——sort

给你n个整数,请按从大到小的顺序输出其中前m大的数。
Input
每组测试数据有两行,第一行有两个数n,m(0

#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXN=1000050;
int a[MAXN];
bool cmp(int a,int b){
    return a>b;
}
int main(void){
    int n,m;
    while(~scanf("%d%d",&n,&m)){
        int t;
        for(int i=0;i<n;i++){
            scanf("%d",&t);
            a[t+500000]=1;
        }
        for(int i=MAXN;i>=0;i--){
            if(a[i]==1 && m>0){
                m--;
                if(m>0){
                    printf("%d ",i-500000);
                }
                else{
                    printf("%d\n",i-500000);
                }
            }
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/westbrook1998/article/details/80724933