【题目描述】
新冠疫情严重影响我们的生活,虽然得到有效的遏制,并没有完全消失,它还在变异,还在时不时传播开来。寒假马上来了,为了有效防控疫情,老师希望每天要登记学生去的地方,假设每个学生每天只会去一个地方,为了简化登记的流程和加快登记的速度,我们给每个地方编了个序号(正整数),并保证每个地方的编号各不相同。这样学生每天只需要简单写个编号提交就可以了。
现在我们需要统计每个地方去的学生的人数,并找到去的人数最多的地方,然后给去过这个地方的同学发个“此处聚集人数最多”的信息。提醒学生少去人多的地方。 假设我们有n个学生,每个学生编号1n,全市有m个地方,每个地方编号1m。每个学生输入去的地方的编号即可。
希望程序输出人数最多的地方的编号,以及这个地方聚集的人数。
【输入格式】
用空格隔开的两个整数n和m,n表示学生人数,m表示地方的数量。
接下来一行是用空格隔开的n个数,分别表示每个人去的地方的编号。
【输出格式】
输出两个数,分别表示人数最多的地方的编号以及这个地方聚集的人数。(如果有若干个地方人数同样多,输出编号最小的地方)。
【样例输入1】
10 20
17 10 4 4 4 6 3 17 20 9
【样例输出1】
4 3
【样例输入2】
9 3
1 2 3 1 2 3 1 2 3
【样例输出2】
1 3
【数据范围】
1≤n≤1000,1≤m≤1000
code<代码>
#include<iostream>
using namespace std;
int a[1005];
int main()
{
int m,max=0,i,n,x;
cin>>n>>m;
for(i=1;i<=m;i++)
a[i]=0;
for(i=1;i<=n;i++)
{
cin>>x;
a[x]++;
}
for(i=0;i<=m;i++)
{
if(a[i]>max)
{
max=a[i];
x=i;
}
}
cout<<x<<" "<<max;
return 0;
}