hdoj-1425-sort【哈希】
来源:互联网 发布:ecko unltd淘宝旗舰店 编辑:程序博客网 时间:2024/05/22 10:22
sort
Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 34501 Accepted Submission(s): 10232
Problem Description
给你n个整数,请按从大到小的顺序输出其中前m大的数。
Input
每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。
Output
对每组测试数据按从大到小的顺序输出前m大的数。
Sample Input
5 33 -35 92 213 -644
Sample Output
213 92 3请用VC/VC++提交HintHint
Author
LL
Source
ACM暑期集训队练习赛(三)
Recommend
linle | We have carefully selected several similar problems for you:1280 1800 1264 2522 1205
贴个没用哈希的代码:只能用G++过,C++超时
#include<stdio.h>#include<algorithm>using namespace std;int a[1000000];int cmp(int a,int b){ return a>b;}int main(){ int n,m; while(~scanf("%d%d",&n,&m)){ int i; for(i=0;i<n;++i){ scanf("%d",&a[i]); } sort(a,a+n,cmp); printf("%d",a[0]); for(i=1;i<m;++i) printf(" %d",a[i]); printf("\n"); } return 0;}
下面是用哈希法写的,c++能过
#include<stdio.h>#include<string.h>bool hash[1000001];const int MAXN=500000;int main(){int n,m;while(~scanf("%d%d",&n,&m)){memset(hash,0,sizeof(hash));int i,x;for(i=0;i<n;++i){scanf("%d",&x);hash[x+MAXN]=true;}for(i=MAXN*2;i>=0;--i){if(hash[i]&&m>1){printf("%d ",i-MAXN);m--;}else if(hash[i]&&m==1){printf("%d\n",i-MAXN);break;}}}return 0;}
0 0
- hdoj-1425-sort【哈希】
- HDOJ 1425: Sort
- HDOJ 1425 (sort)
- HDOJ 1425 sort
- HDOJ 1425 : Sort
- hdoj 1425 sort
- hdoj 1425 sort
- HDOJ 1425-sort
- hdoj 1425 sort
- HDOJ 1425 sort
- HDOJ 1425 sort hash(雾)
- 简单哈希-hdoj-1425-sort
- hdoj 1425 sort 【哈希算法】
- HDOJ 1425 sort (堆排序NlogN)
- hdoj 1890 Robotic Sort
- HDOJ 1890 Robotic Sort
- hdoj 1040 sort排序
- HDOJ 1002:sort
- openCV中 libopencv-nonfree-dev的安装: undefined reference to `cv::initModule_nonfree()'
- java设计模式(2) - 工厂模式
- python __new__()和__init__()哪个更早?
- 你真的会二分查找吗?
- 图结构练习——最短路径 floyd算法 SDUT2143
- hdoj-1425-sort【哈希】
- 导航视图控制器(总结)
- 重温《C++ Primer》笔记十 当数组作为函数参数时
- Emacs学习
- NOIP 2013提高组 truck
- Java笔试面试题002
- easyUI的iframe子页面操作父页面元素
- 求一个字符串中出现相同且长度最长的字符串
- java设计模式(3) - 观察者模式(Observer)