杭电 1280 前m大的数
前m大的数
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 10382 Accepted Submission(s): 3614
给定一个包括N(N<=3000)个正整数的序列。每一个数不超过5000。对它们两两相加得到的N*(N-1)/2个和,求出当中前M大的数(M<=1000)并按从大到小的顺序排列。
第一行两个数N和M。
第二行N个数,表示该序列。
输出应当依照从大到小的顺序排列。
4 4
1 2 3 4
4 5
5 3 6 4
7 6 5 5
11 10 9 9 8
看清题目要求非常重要啊~~提交了我n次才过 ,欲哭无泪啊。!
<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大的数的更多相关文章
- HDU 1280 前m大的数
http://acm.hdu.edu.cn/showproblem.php?pid=1280 前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory L ...
- HDU 1280 前m大的数【排序 / hash】
前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- HDU 1280 前m大的数(排序,字符串)
前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- hdu 1280 前m大的数 哈希
前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- <hdu - 1280> 前M大的数 (注意其中的细节)
这是杭电hdu上的链接http://acm.hdu.edu.cn/showproblem.php?pid=1280 Problem Description: 还记得Gardon给小希布置的那个作业么 ...
- HDU 1280 前m大的数 基数排序
http://acm.hdu.edu.cn/showproblem.php?pid=1280 题目大意: 给你N(N<=3000)个数(这些数不超过5000),要求输出他们两两相加后和最大的M( ...
- HDU 1280 前m大的数【哈希入门】
题意:中文的题目= =将各种组合可能得到的和作为下标,然后因为不同组合得到的和可能是一样的, 所以再用一个数组num[]数组,就可以将相同的和都记录下来 #include<iostream> ...
- hdu 1280 前m大的数(排序)
题意:排序 思路:排序 #include<iostream> #include<stdio.h> #include<algorithm> using namespa ...
- hdu---(1280)前m大的数(计数排序)
前m大的数 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
随机推荐
- 【php】php路径目录解析函数dirname basename pathinfo区别及实例
php获取路径.目录或文件名称,我们经常会使用到dirname().basename().pathinfo()这三个函数,本文章向大家详细介绍这三个函数的区别以及使用实例,需要的朋友可以参考一下. d ...
- composer error when run composer update
本篇文章由:http://xinpure.com/composer-error-when-run-composer-update/ 错误 很多时候即使是常用的命令也会出现一些奇奇怪怪的错误, 难以预知 ...
- 总结js(Iframe、window.open、window.showModalDialog)父窗口与子窗口之间的操作
http://hi.baidu.com/yashua839/blog/item/131fdb2fe547ef221f3089af.html一.Iframe 篇 //&&&&am ...
- 在iOS App中增加完整的照片多选功能
转自:http://blog.csdn.net/jasonblog/article/details/8141850 主要参考了ELCImagePickerController,不过由于UI展现上需要定 ...
- Linux下恢复误删文件:思路+实践
周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到Dave Chinner在邮件列表里提到了这个问题, ...
- CXAnimation.h动画类
/**************************************************************************** 使用一个CCAnimation对象可以CCS ...
- 跟着百度学PHP[9]-session会话
参考:http://www.w3school.com.cn/php/php_sessions.asp session变量用于存储有关用户的会话的信息,或更改用户会话的设置,session变量保存的信息 ...
- 演练:创建和注册自定义 HTTP 模块
本演练演示自定义 HTTP 模块的基本功能. 对于每个请求,都需要调用 HTTP 模块以响应 BeginRequest 和 EndRequest 事件. 因此,该模块在处理请求之前和之后运行. 如果 ...
- Tablespace for table '`pomelo`.`bag`' exists. Please DISCARD the tablespace before IMPORT.
//遇到的问题是,删除数据库之后,重新创建数据库,在创建数据库表的时候,明明没有该表,却提示存在这个表.这是数据库缓存造成的 //解决方法 FLUSH TABLES; /* 安装MySql数据库(略) ...
- am335x 无屏实现开关机程序
因测试需要加入开机次数记录,所以记录一下7816开关机是怎么做的 原理很简单,开机时判断一个记录文件是否存在,如果存在,运行一段代码,将记录开机次数文件的值读出来+1 代码如下: #include & ...