前m大的数

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 10574    Accepted Submission(s): 3686

Problem Description
还记得Gardon给小希布置的那个作业么?(上次比赛的1005)事实上小希已经找回了原来的那张数表,如今她想确认一下她的答案是否正确,可是整个的答案是非常庞大的表。小希仅仅想让你把答案中最大的M个数告诉她就能够了。 

给定一个包括N(N<=3000)个正整数的序列,每一个数不超过5000。对它们两两相加得到的N*(N-1)/2个和。求出当中前M大的数(M<=1000)并按从大到小的顺序排列。

 
Input
输入可能包括多组数据,当中每组数据包括两行: 

第一行两个数N和M, 

第二行N个数,表示该序列。


 
Output
对于输入的每组数据,输出M个数,表示结果。输出应当依照从大到小的顺序排列。
 
Sample Input
4 4
1 2 3 4
4 5
5 3 6 4
 
Sample Output
7 6 5 5
11 10 9 9 8
 

统计每一个数出现的次数 然后从大到小输出
#include<stdio.h>
#include<cstring>
int main()
{
int hash[10010];
int a[3010];
int n,m;
int i,j;
while(scanf("%d %d",&n,&m)!=EOF)
{
memset(hash,0,sizeof(hash));
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int xx=0;
for(i=0;i<n;i++)
{
for(j=0;j<i;j++)
{
hash[a[i]+a[j]]++;
if(a[i]+a[j]>xx)
{
xx=a[i]+a[j];
}
}
}
for(i=xx;i>=0;i--)
{
while(hash[i]&&m>1)
{
printf("%d ",i);
hash[i]--;
m--;
}
if(m==1&&hash[i])
{
printf("%d\n",i);
break;
}
}
}
return 0;
}

hdu 1280 前m大的数 哈希的更多相关文章

  1. HDU 1280 前m大的数

    http://acm.hdu.edu.cn/showproblem.php?pid=1280 前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory L ...

  2. HDU 1280 前m大的数【排序 / hash】

    前m大的数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  3. HDU 1280 前m大的数(排序,字符串)

      前m大的数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  4. <hdu - 1280> 前M大的数 (注意其中的细节)

    这是杭电hdu上的链接http://acm.hdu.edu.cn/showproblem.php?pid=1280  Problem Description: 还记得Gardon给小希布置的那个作业么 ...

  5. HDU 1280 前m大的数 基数排序

    http://acm.hdu.edu.cn/showproblem.php?pid=1280 题目大意: 给你N(N<=3000)个数(这些数不超过5000),要求输出他们两两相加后和最大的M( ...

  6. HDU 1280 前m大的数【哈希入门】

    题意:中文的题目= =将各种组合可能得到的和作为下标,然后因为不同组合得到的和可能是一样的, 所以再用一个数组num[]数组,就可以将相同的和都记录下来 #include<iostream> ...

  7. hdu 1280 前m大的数(排序)

    题意:排序 思路:排序 #include<iostream> #include<stdio.h> #include<algorithm> using namespa ...

  8. 杭电 1280 前m大的数

    http://acm.hdu.edu.cn/showproblem.php?pid=1280 前m大的数 Time Limit: 2000/1000 MS (Java/Others)    Memor ...

  9. hdu---(1280)前m大的数(计数排序)

    前m大的数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

随机推荐

  1. html 空白汉字占位符

     可以看作一个空白的汉字 == 普通的英文半角空格   ==   ==   == no-break space (普通的英文半角空格但不换行)   == 中文全角空格 (一个中文宽度)   ==   ...

  2. 【SDN】SDN相关资料--了解一下电信领域的SDN

    SDN相关资料 数据中心架构下ospf bgp如何选择及优缺点? - 数据中心 - 知乎 组播扩展OSPF_百度百科 carrier.huawei.com/cn/products/fixed-netw ...

  3. C#.NET常见问题(FAQ)-使用SharpDevelop开发 如何切换设计视图和代码视图

    仅在MainForm.cs跟MainForm.Designer.cs文件页面上,底部有可以切换源代码跟设计的按钮(别的地方都木有)   点击就切换过来了     更多教学视频和资料下载,欢迎关注以下信 ...

  4. utc时间转换成标准时间

    把这个时间 /Date(1484884647943+0800)/ 转成标准时间 String str = String.format("%tF %<tT", 14848846 ...

  5. TCP/TP编程 - 一个简单的Linux下C写的socket服务器客户端程序

    服务端: hello_server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #in ...

  6. Android 四大组件之 Activity(二)

    1.综述 Activity是Android四大组件(Application Components)之一,简单来说Activity就是平常所见到的用户界面,一般情况下,一个Activity所占的窗口是满 ...

  7. Eclipse里如何配制项目在tomcat中启动

    首先,在Eclipse中新建一个Hello工程,Workspace的位置在c:/eclipse/workspace,所以hello工程的位置就是在%Workspace%/hello/这个文件夹中.  ...

  8. c的链接详解

    多目标文件的链接 stack.c #include <stdio.h> #define STACKSIZE 1000 typedef struct stack { int data[STA ...

  9. Struts2(六)result

    一.result简述 result:输出结果:第个Action返回一个字符串,Struts2根据这个值来决定响应结果 name属性:result的逻辑名.和Actin里的返回值匹配,默认"s ...

  10. C# 编程实现串口通信

    http://blog.sina.com.cn/s/blog_6c67dab30101p3vn.html ----------------------------------------------- ...