现在的位置: 首页 > 综合 > 正文

hdu 1425 简单的数的hash

2013年09月07日 ⁄ 综合 ⁄ 共 358字 ⁄ 字号 评论关闭

题意:求出给出的数中从大到下的m个数。

思路:hash

#include<iostream>
#define MAX 1000001
#define N 500000//根据数的范围来看,保证数组不越界
using namespace std;
int main()
{
    bool hash[MAX];
    int n,m,h,num,t;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
      memset(hash,0,sizeof(hash));
      for(int i=1;i<=n;i++)
      {
        scanf("%d",&t);
        hash[t+N]=1;
      }
      h=MAX;
      num=1;
      while(h--)
      {
        if(hash[h])
        {
           if(num==m)
           {
             printf("%d\n",h-N);
             break;
           }
           printf("%d ",h-N);
           num++;
        }    
      }
    }
}

抱歉!评论已关闭.