您的位置:首页 > 其它

6,1 数组排序

2015-06-01 17:37 337 查看
题目要求:



给你n个整数,请按从大到小的顺序输出其中前m大的数。

Input

每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。

Output

对每组测试数据按从大到小的顺序输出前m大的数。

Sample Input

5 3

3 -35 92 213 -644

Sample Output

213 92 3







#include <iostream>

#include <cstdio>

#include <cstring>

using namespace std;

int my[1000010];

int main()

{

memset(my,0,sizeof(my));

int n,m,i,in;

while(scanf("%d%d",&n,&m)!=EOF)

{

for(i=0;i<n;i++)

{

scanf("%d",&in);

my[in+500000]=1;

}

for(i=1000000;m>0;i--)

{

if(my[i]==1)

{

printf("%d",i-500000);

if(m>1)

putchar (32);

else

putchar (10);

m--;

}

}

}

return 0;

}





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: