Pagini recente » Cod sursa (job #722021) | Cod sursa (job #808524) | Diferente pentru implica-te/arhiva-educationala intre reviziile 65 si 66 | Cod sursa (job #1944964) | Cod sursa (job #715944)
Cod sursa(job #715944)
#include<stdio.h>
#include<vector>
#define FIN "elmaj.in","r",stdin
#define FOUT "elmaj.out","w",stdout
#define MOD 2011
using namespace std;
int n,x,i,sol,sol2;
vector< pair<int, int> >H[MOD];
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",sol,sol2);
return 0;
}