Pagini recente » Cod sursa (job #2631260) | Cod sursa (job #1646553) | Cod sursa (job #3121990) | Cod sursa (job #2868717) | Cod sursa (job #1973975)
#include <iostream>
#include <fstream>
#define NMAX 1000005
using namespace std;
int n, nrAp, elMaj, a[NMAX];
void read()
{
scanf("%d", &n);
for(int i=1; i<=n; ++i)
scanf("%d", &a[i]);
}
bool elementMajoritar()
{
int k=0, elMajAux=-1;
for(int i=1; i<=n; ++i)
if(k==0)
{
elMajAux=a[i];
k=1;
}
else if(elMajAux==a[i])
k++;
else
k--;
if(elMajAux < 0)
return false;
for(int i=1; i<=n; ++i)
if(a[i]==elMajAux)
nrAp++;
if(nrAp>n/2)
{
elMaj=elMajAux;
return true;
}
return false;
}
int main()
{
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
read();
if(elementMajoritar())
printf("%d %d", elMaj, nrAp);
else
printf("-1");
return 0;
}