题目:二十三中信息组需要选一个组长。信息组一共有n个人,分别用1到n编号,其中m个人参与了投票。得票数过半<票数大于m /2>的人将被选为组长。
输入数据将告知这m个人分别将票投给了谁,请统计出谁将担任二十三中信息组的组长。
Input
第一行两个数n和m。
第二行有m个数,这些数都是不超过n的正整数,表明这m个人的选择。
Output
输出将被选为组长的人。如果没有人的票数过半,请输出-1。
#include<stdlib.h>
#include<stdio.h>
#include<iostream>
using namespace std;
int m,n,a[1000000]={0},t=0;
int main()
{
int x=0;
scanf("%d%d",m,n);
for(int i=1;i<=n;i++)
{
scanf("%d",x);
a[x]+=1;
if(a[x]>=(n/2))
{
t=1;
printf("%d",x);
}
}
if(t!=1)
{
printf("-1");
}
return 0;
}