http://acm.hdu.edu.cn/showproblem.php?pid=1029
简单哈希一次ac
#include<stdio.h> int a[1000000]; int main() { int n,i,x,max; a[0]=0; while(scanf("%d",&n)!=EOF) { max=0; for(i=0;i<n;i++) { scanf("%d",&x); if(max<x) max=x; a[x]++; } for(i=0;i<=max;i++) { if(a[i]>=(n+1)/2) printf("%d\n",i); a[i]=0; } } return 0; }