大家好,又来一期了!!!!!
题目描述小 T 和他的小伙伴们到 CZ 中学的创新实验班报到后的第一件事就是选班委。
班主任 R 老师走上讲台宣布了选举办法。
首先让全班 40 位同学依次上讲台做自我介绍,然后按照 职位一个一个依次进行选举,先选班长,再选学习委员……
选举办法是每人投一票,谁的票数最高就选谁担任这个职位。
最后围棋高手小 W 颇具大将风范被选为班长,学神小 Z 当选为学习委员那是众望所归,小 S 则有天生一副好嗓子,不但歌唱得好,并且能将多种动物的叫声模仿得惟妙惟肖,因此当选为文体委员。
小 T 同学在本次选举中负责计票,他觉得手工计票太慢了,且容易出错,因此想请你编一个程序实现机器计票功能。
这个程 要能实现以下功能:
全班共有 n 个同学,依次用 1 到 n 编号,共有 m 个人(包括班主任和任课老师等)参与了投票,每张选票上写有一个同学的编号,得票最多的同学当选。
输入
输入数据第一行包含两个用空格隔开的正整数n和m,其中n≤200,m≤2000。
第二行有m个用空格隔开的不超过n的正整数,表示这m张选票上所写的编号。
输出
输出得票最多的那个同学的编号。如果同时有两名以上同学得票最多,输出编号最小的那个同学的编号。
样例
输入
3 4 1 3 2 1
输出
1
提示
样例解释
全班共有 3 位同学,共有 4 人进行了投票,其中有 2 人选了 1 号同学,选 2 号和 3 号
同学的都只有 1 人,最后 1 号同学得 2 票,2 号和 3 号同学各得 1 票,1 号同学得票最多, 当选班委。
数据范围
20%的数据满足:n≤3,m≤20
60%的数据满足:n≤100,m≤500
70%的数据满足:得票最多的同学是唯一的
100%的数据满足:n≤200,m≤2000
#include<bits/stdc++.h>
using namespace std;
int n,m,t,maxn=INT_MIN,b;
int main(){
cin>>n>>m;
int a[m+5]={0};
for(int i=1;i<=m;++i)
{
cin>>t;
a[t]++;
}
for(int i=1;i<=n;++i)
{
if(a[i]>maxn)
{
maxn=a[i];
b=i;
}
}
cout<<b<<endl;
return 0;
}