Pagini recente » Cod sursa (job #2920905) | Cod sursa (job #1420578) | Cod sursa (job #2543426) | Cod sursa (job #432255) | Cod sursa (job #915451)
Cod sursa(job #915451)
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
#define MOD 60000
int n,x,a,r;
vector< vector <int> > h;
vector< vector <int> > poz;
int f(int x)
{
x=x+2;
x=x-5;
x=x/7;
x=x*9;
return x%MOD;
}
int verificare (int x)
{
int lg,nr;
lg=h[f(x)].size();
nr=f(x);
for(int i=0;i<lg;i++)
{
if(h[nr][i]==x)
{
poz[nr][i]++;
if(poz[nr][i]>=n/2+1)
{
r=x;
a=poz[nr][i];
}
return 1;
}
}
return 0;
}
void adaugare (int x)
{
int nr;
nr=f(x);
h[nr].push_back(x);
poz[nr].push_back(1);
}
int main ()
{
fin>>n;
h.resize(MOD);
poz.resize(MOD);
for(int i=1;i<=n;i++)
{
fin>>x;
if(verificare(x)==0)
adaugare(x);
}
if(a>=n/2+1)
fout<<r<<" "<<a;
else
fout<<"-1";
fin.close();fout.close();
return 0;
}