Pagini recente » Cod sursa (job #987030) | Cod sursa (job #1626566) | Cod sursa (job #112764) | Cod sursa (job #2692840) | Cod sursa (job #1047583)
#include<fstream>
#include<vector>
using namespace std;
#define Vsize 666013
vector < pair<int,int> > Hash[Vsize];
int n,MyX,NrA;
int search(int x)
{
int rest = x%Vsize;
for(int i=0;i<Hash[rest].size();i++)
if(Hash[rest][i].first==x)
return i;
return -1;
}
void add(int x)
{
int rest = x % Vsize,s=search(x);
if(s==-1)
Hash[rest].push_back(std::make_pair(x,1));
else
{
Hash[rest][s].second++;
if(Hash[rest][s].second>=n/2+1)
MyX=x,NrA=Hash[rest][s].second;
}
}
int main(void)
{
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int nr,i;
MyX=-1;
f>>n;
for(i=1;i<=n;i++)
{
f>>nr;
add(nr);
}
g<<MyX;
if(MyX!=-1)
g<<" "<<NrA;
}