Pagini recente » Cod sursa (job #1740663) | Cod sursa (job #2284778) | Cod sursa (job #1631712) | Cod sursa (job #655816) | Cod sursa (job #715956)
Cod sursa(job #715956)
#include<stdio.h>
#include<vector>
#define FIN "elmaj.in","r",stdin
#define FOUT "elmaj.out","w",stdout
#define MOD 666013
using namespace std;
int n,x,i,sol,sol2;
vector< pair<int, int> >H[MOD+1];
vector<pair<int, int> >::iterator val;
vector<pair<int, int> >::iterator search(int x)
{
int list=x%MOD;
vector<pair<int, int> >::iterator it;
for(it=H[list].begin();it!=H[list].end();++it)
if((*it).first==x)return it;
return H[list].end();
}
int main()
{
freopen(FIN);
freopen(FOUT);
scanf("%d",&n);
sol=sol2=-1;
for(i=1;i<=n;i++)
{
scanf("%d",&x);
val=search(x);
if(val==H[x%MOD].end())
H[x%MOD].push_back(make_pair(x,1));
else
{
H[x%MOD].erase(val);
H[x%MOD].push_back(make_pair(x,(*val).second+1));
if((*val).second>=n/2+1)sol=x,sol2=(*val).second;
}
}
printf("%d %d\n",sol,sol2);
/*for(i=1;i<=15;i++)
for(val=H[i].begin();val!=H[i].end();++val,printf("\n"))
printf("%d %d ",(*val).first, (*val).second);*/
return 0;
}