Pagini recente » Cod sursa (job #1863179) | Cod sursa (job #1665214) | Cod sursa (job #753833) | Cod sursa (job #1463002) | Cod sursa (job #1515222)
#include <cstdio>
#include <algorithm>
#define NMAX 1000008
using namespace std;
int n;
int a[NMAX];
int elementMajoritar, nrAparitii, existaElmaj;
void readData()
{
scanf("%d\n", &n);
for (int i = 1; i <= n; ++i){
scanf("%d ", &a[i]);
}
}
void processData()
{
int nrNecuplati = 0;
for (int i = 1; i <= n; ++i){
if (nrNecuplati == 0){
nrNecuplati = 1;
elementMajoritar = a[i];
}
if (elementMajoritar != a[i])
nrNecuplati--;
else
nrNecuplati++;
}
for (int i = 1; i <= n; ++i)
if (a[i] == elementMajoritar)
nrAparitii++;
if (nrAparitii > n/2)
existaElmaj = 1;
}
void printData()
{
if (existaElmaj){
printf("%d %d\n", elementMajoritar, nrAparitii);
return;
}
printf("-1\n");
}
int main()
{
freopen("elmaj.in", "r", stdin);
freopen("elmaj.out", "w", stdout);
readData();
processData();
printData();
return 0;
}