Pagini recente » Cod sursa (job #1747545) | Cod sursa (job #2191085) | Cod sursa (job #1058969) | Cod sursa (job #3036483) | Cod sursa (job #634064)
Cod sursa(job #634064)
#include <cstdio>
#include <vector>
#include <fstream>
using namespace std;
#define MOD 666013
#define MAX 10005
vector <pair <int,int> > h[MOD];
int N,elem;
int pozitie=MAX-1;
char buff[MAX];
inline void cit (int &nr)
{
for (nr=0; buff[pozitie]<'0' || buff[pozitie]>'9'; )
if (++pozitie==MAX)
{
fread (buff,1,MAX,stdin);
pozitie=0;
}
for ( ; '0'<=buff[pozitie] && buff[pozitie]<='9'; )
{
nr=nr*10+buff[pozitie]-'0';
if (++pozitie==MAX)
{
fread (buff,1,MAX,stdin);
pozitie=0;
}
}
}
void insert (int nr,int poz)
{
for (vector <pair <int,int> > :: iterator it=h[poz].begin (); it!=h[poz].end (); ++it)
if (it->first==nr)
{
if (++it->second>(N>>1))
elem=it->first;
return ;
}
h[poz].push_back (make_pair (nr,1));
}
int find (int nr,int poz)
{
for (vector <pair <int,int> > :: iterator it=h[poz].begin (); it!=h[poz].end (); ++it)
if (it->first==nr)
return it->second;
return 0;
}
int main ()
{
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
fin>>N;
for (int i=1; i<=N; ++i)
{
int nr; fin>>nr;
insert (nr,nr%MOD);
}
if (elem)
fout<<elem<<" "<<find (elem,elem%MOD);
return 0;
}