游客 Signup | Login
中文 | En

2229 - 众数问题

问题描述:

给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。
例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。
编程任务:
对于给定的由n 个自然数组成的多重集S,编程计算S 的众数及其重数。

Input

第1行多重集S中元素个数n(n<=50000);接下来的n 行中,每行有一个自然数。

Output

输出文件有2 行,第1 行给出众数,第2 行是重数。(如果有多个众数,只输出最小的)

Examples

Input

6
1
2
2
2
3
5

Output

2
3

Solution C++

#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
long long a[40000];
int main ()
{
	long long n,i,j,m,s,t,max;
	cin>>n;
	max=0;
	for (i=1; i<=n; i++)
	{   
		cin>>t;
		a[t]=a[t]+1;
	}
	for (i=1; i<=30000; i++)
	  if (a[i]>max)
	    max=a[i];
	for (i=1; i<=30000; i++)
	  if (a[i]==max) cout<<i<<endl<<max<<endl;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题