http://acm.hdu.edu.cn/showproblem.php?pid=1280

前m大的数

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

Total Submission(s): 10382    Accepted Submission(s): 3614

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
 
一定要注意数组大小怎么开啊!

看清题目要求非常重要啊~~提交了我n次才过 ,欲哭无泪啊。!


AC代码(一):
这是用sort做的。
<span style="font-size:18px;"><span style="font-size:24px;"></span>
<span style="font-size:18px;">#include <iostream></span>
<span style="font-size:18px;">#include<algorithm>
using namespace std; int a[3005],s[10000]; int cmp(int a,int b)
{
return a>b;
} int main()
{
int n,m,i,j;
while(~scanf("%d%d",&n,&m))
{
memset(s,0,sizeof(s));
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n,cmp); int t=0,p=0;
if(n>100)
t=100;
else
t=n; for(i=0;i<t;i++)
for(j=i+1;j<t;j++)
s[p++]=a[i]+a[j]; sort(s,s+p,cmp);
for(i=0;i<m-1;i++)
cout<<s[i]<<" ";
cout<<s[i]<<endl;
} return 0;
}
</span></span>

AC代码(二):用优先队列做的


<span style="font-size:18px;">#include<iostream>
#include<queue>
#include<cstdio>
using namespace std; int a[3005]; int main()
{
priority_queue<int>q;
int i,j,n,m;
while(~scanf("%d%d",&n,&m))
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
q.push(a[i]+a[j]);
for(i=0;i<m-1;i++)
{
printf("%d ",q.top());
q.pop();
}
printf("%d\n",q.top());
}
return 0;
}
</span>

杭电 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大的数 哈希

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 聊聊iClient for Leaflet坐标转换问题

    作者:非法小恋 背景 SuperMap iClient for JavaScript 9D产品想必大伙都用了一段时间了,针对新推出的三款客户端产品,Leaflet,OpenLayaers,Mapbox ...

  2. Android 添加新的Activity

    1.右键, New一个Class ,文件名如:ParaSetActivity.java 注: Superclass要选择android.app.Activity ,没有直接写入android.app. ...

  3. 【实用代码片段】将json数据绑定到html元素 (转)

    jQuery扩展 jQuery.fn.extend({ 'jsonBind':function(json){ var dom=this; dom.find('[json-bind]').each(fu ...

  4. Ribbon 和 wowza 的集成开发

            前言        Ribbon 是提供 REST 服务的区域感知负载均衡器,它在 wowza 的前端,应该部署在专业的 REST 容器下,而不是流媒体服务器 wowza 下. 本文介 ...

  5. Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php

    Atitit.软件开发概念(11)--网络子系统--url编码 空格问题URLEncoder java js php 1. RFC2396标准 including HTML 4.01 section  ...

  6. angular路由介绍

    AngularJS路由功能是一个纯前端的解决方案,与我们熟悉的后台路由不太一样.后台路由,通过不同的URL会路由到不同的控制器上(controller),再渲染(render)到页面(HTML).An ...

  7. 如何在Windows下面运行hadoop的MapReduce程序

    在Windows下面运行hadoop的MapReduce程序的方法: 1.下载hadoop的安装包,这里使用的是"hadoop-2.6.4.tar.gz": 2.将安装包直接解压到 ...

  8. mem_fun与mem_fun_ref的区别

    一句话:container<ClassType*>就用mem_fun,container<ClassType>就用mem_fun_ref 参考: http://www.cplu ...

  9. 网页尺寸offsetHeight,offsetWidth

    网页尺寸offsetHeight offsetHeight和offsetWidth,获取网页内容高度和宽度(包括滚动条等边线,会随窗口的显示大小改变). 一.值 offsetHeight = clie ...

  10. 匈牙利命名法、骆驼命名法、帕斯卡(pascal)命名法 C#命名规范

    匈牙利命名法.骆驼命名法.帕斯卡(pascal)命名法 C#命名规范 一.匈牙利命名法:广泛应用于象Microsoft Windows这样的环境中. Windows 编程中用到的变量(还包括宏)的命名 ...