时间限制: 1 Sec 内存限制: 128 MB
题目描述
由文件给出n个1~3000之间的无序正整数,其中1≤n≤1000。同一个正整数可能会出现多次,出现次数最多的整数称为众数。求出众数及众数出现的次数。
输入
第一行是正整数的个数n。第二行开始为n个正整数。
输出
有若干行,每行两个数,第1个是众数,第2个是众数出现的次数。
样例输入 Copy
12 2 4 2 3 2 5 3 7 2 3 4 3
样例输出Copy
2 4 3 4
V
V
V
V
V
V
V
V
V
V
V
解题:
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[1000]={0},s[3000]={0},k=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
s[a[i]]++;
}
for(int i=1;i<=3000;i++)
{
k=(s[k]<s[i])?i:k;
}
for(int i=1;i<=3000;i++) if(s[i]==s[k]) cout<<i<<" "<<s[i]<<"\n";
return 0;
}
