(http://115.28.138.223/view.page?gpid=T5)
#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 10005
using namespace std;
struct node
{
int c;
int cnt;
};
node p[maxn];
bool cmp(node p1,node p2)
{
if(p1.cnt!=p2.cnt)
return p1.cnt>p2.cnt;
else
return p1.c<p2.c;
}
int main()
{
int a,n,i,j,k=0;
scanf("%d",&n);
int vis[maxn];
memset(p,0,sizeof(p));
memset(vis,0,sizeof(vis));
for(i=0;i<n;i++)
{
scanf("%d",&a);
if(!vis[a])
{
p[k].c=a;
vis[p[k].c]=1;
p[k].cnt++;
k++;
}
else
{
for(j=0;j<k;j++)
{
if(p[j].c==a)
{
p[j].cnt++;
break;
}
}
}
}
sort(p,p+k,cmp);
//for(i=0;i<k+1;i++)
//for(j=0;j<p[i].cnt;j++)
//printf("%d ",p[i].c);
printf("%d",p[0].c);
return 0;
}