时间限制: 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; }