HDU 1425 sort
2015-07-30 16:07
197 查看
[align=left]Sample Output[/align]sort
Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 34282 Accepted Submission(s): 10156 [align=left]Problem Description[/align]给你n个整数,请按从大到小的顺序输出其中前m大的数。 [align=left]Input[/align]每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。 [align=left]Output[/align]对每组测试数据按从大到小的顺序输出前m大的数。 [align=left]Sample Input[/align][code]5 3 3 -35 92 213 -644
213 92 3[/code]
对N个数进行排序,输出最大的M个数
1.快排
#include<stdio.h>#include<algorithm>using namespace std;int a[1000010];int main(){int n,m,i;while(scanf("%d%d",&n,&m)!=EOF){for(i=0;i<n;i++)scanf("%d",&a[i]);sort(a,a+n);for(i=n-1;i>n-m;i--)printf("%d ",a[i]);printf("%d\n",a[n-m]);}return 0;}
2.堆排序
#include <stdio.h>#include <algorithm>using namespace std;static int a[1000010];int main(){int i,n,m;while(EOF != scanf("%d %d",&n,&m)){for(i=0;i<n;i++)scanf("%d",&a[i]);make_heap(a,a+n);printf("%d",a[0]);for(i=1;i<m;i++){pop_heap(a,a+n-i+1);printf(" %d",a[0]);}printf("\n");}return 0;}
相关文章推荐
- 2015年7月29日工作总结
- 转 引发类型为“System.ExecutionEngineException”的异常。
- 老 base64 for xe8
- js验证身份证
- [视频]Win10正式版Cortana简单体验
- 详解Java编程中的反射在Android开发中的应用
- 【JAVA】java中CyclicBarrier的用法,实例讲解
- 多线程
- Fragment里添加ListView不要用ListFragment
- 百度地图提供服务——本地搜索,范围搜索
- R 摘录笔记
- Spring -- 基于XML的AOP通知配置
- 百度地图提供服务——本地搜索,范围搜索
- spring事务声明的几种传播特性
- epoll使用详解
- 【linux高级程序设计】(第十二章)Linux多线程编程
- android用户界面屏幕分辨率参考
- 时间序列 SPSS
- 百度地图提供服务——本地搜索,范围搜索
- 百度地图提供服务——本地搜索,范围搜索