hdoj.1280 前m大的数【水题】 20150602
2015-06-02 22:07
211 查看
前m大的数
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13123 Accepted Submission(s): 4476
[align=left]Problem Description[/align]
还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大的M个数告诉她就可以了。
给定一个包含N(N<=3000)个正整数的序列,每个数不超过5000,对它们两两相加得到的N*(N-1)/2个和,求出其中前M大的数(M<=1000)并按从大到小的顺序排列。
[align=left]Input[/align]
输入可能包含多组数据,其中每组数据包括两行:
第一行两个数N和M,
第二行N个数,表示该序列。
[align=left]Output[/align]
对于输入的每组数据,输出M个数,表示结果。输出应当按照从大到小的顺序排列。
[align=left]Sample Input[/align]
4 4 1 2 3 4 4 5 5 3 6 4
[align=left]Sample Output[/align]
7 6 5 5 11 10 9 9 8
[align=left]Author[/align]
Gardon
[align=left]Source[/align]
杭电ACM集训队训练赛(VI)
#include<iostream> #include<algorithm> using namespace std; bool cmp(int a,int b){ return a>b; } int p[9000010],n,k; int a[3005]; int main(){ while(cin>>n>>k){ for( int i = 0 ; i < n ; ++i ) cin>>a[i]; int l=0; for( int i = 0 ; i < n ; ++i ) for( int j = 0 ; j < n ; ++j ) if( i != j && j > i ) p[l++] = a[i] + a[j]; sort(p,p+l,cmp); cout<<p[0]; for( int i = 1 ; i < k ; ++i ) cout<<' '<<p[i]; cout<<endl; } return 0; }
两层for循环直接暴力过,不会超时
相关文章推荐
- python的模块导入机制和模块安装方法
- 浅谈C++容器( 三)
- hdu 1194 Beat the Spread!
- BZOJ 1606: [Usaco2008 Dec]Hay For Sale 购买干草( dp )
- [Servlet3.0新特性]注解替代配置文件
- jQuery网站顶部定时折叠广告
- [Servlet3.0新特性]注解替代配置文件
- 如何在网上下载图片,表情使用迅雷下载更多文件
- [转]脏读,不可重复读,幻读的理解
- modelsim No objects found matching '/t/*' Xilinx IP核
- Solution of Codility
- New Beginning
- HDOJ 2018 母牛的故事
- 客运综合管理系统项目解析-安全检查(模块)-出站检查查询
- LeetCode 20: Valid Parentheses
- django web 中添加超链接
- Binary Tree Level Order Traversal II
- 最后期限2
- ORA-01940:无法删除当前已链接的用户
- 解决ORA-28000: the account is locked