首页 > 其他 > 详细

题目1431:Sort

时间:2016-07-20 01:15:45      阅读:224      评论:0      收藏:0      [点我收藏+]

题目1431:Sort

时间限制:1 秒

内存限制:128 兆

特殊判题:

题目描述:

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

输入:

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

输出:

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

样例输入:
5 3
3 -35 92 213 -644
样例输出:
213 92 3
#include <iostream>
#include <iostream>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#define OFFSET 500000
using namespace std;
int Hash[1000001];

int main()
{
    int n,m;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        for(int i=-500000; i<=500000; i++)
        {
            Hash[i+500000]=0;
        }
        for(int i=1; i<=n; i++)
        {
            int x;
            scanf("%d",&x);
            Hash[OFFSET+x]=1;
        }
        for(int i=500000; i>=-500000; i--)
        {
            if(Hash[OFFSET+i]==1)
            {
                printf("%d",i);
                m--;
                if(m!=0)
                {
                    printf(" ");
                }
                else
                {
                    printf("\n");
                    break;
                }
            }
        }
    }
    return 0;
}

 

题目1431:Sort

原文:http://www.cnblogs.com/zhuoyuezai/p/5686707.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!