南邮 OJ 1432 队长

来源:互联网 发布:linux下安装 seafile 编辑:程序博客网 时间:2024/04/27 22:27

队长

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 187            测试通过 : 44 

比赛描述

南邮ACM 2010-2011年度校级代表队需要选一个队长。代表队一共有n个人,分别用1n编号,其中m个人参与了投票。得票数过半(票数大于m div 2)的人将被选为队长。

输入数据将告知这m个人分别将票投给了谁,请统计出谁将担任南邮ACM 2010-2011年度校级代表队队长。




输入

第一行两个数nm

    第二行有m个数,这些数都是不超过n的正整数,表明这m个人的选择。1<=n<=maxlongint1<=m<=10000


输出

输出将被选为队长的人。如果没有人的票数过半,请输出-1


样例输入

7 4
7 7 2 7

样例输出

7

题目来源

NUPT ACM 2010 Personal Ranking Contest




#include<iostream>#include<map>using namespace std;int main(){long long n;int m,i;map<long long,int> iiMap;map<long long, int>::iterator it;scanf("%I64d%d",&n,&m);for(i=0; i<m; i++){scanf("%I64d",&n);iiMap[n]++;}for(it=iiMap.begin(); it!=iiMap.end(); ++it){if(2*it->second > m){break;}}if(it!=iiMap.end()){printf("%I64d\n",it->first);}else{printf("-1\n");}}/*Wrong Answer at Test 8#include<stdio.h>long long a[10000];int main(){long long n,r;int m,i,count=0;scanf("%I64d%d",&n,&m);for(i=0;i<m;i++){scanf("%I64d",a+i);if(0==count){r = a[i];}else{if(a[i] == r){count++;}else{count--;}}}count = 0;for(i=0; i<m; i++){if(a[i]==r){count++;}}if(count*2 > m){printf("%I64d\n",r);}else{printf("-1");}}*/




0 0
原创粉丝点击