Pagini recente » Cod sursa (job #2792804) | Cod sursa (job #1261454) | Cod sursa (job #1504460) | Cod sursa (job #2148616) | Cod sursa (job #1264276)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
const int NLIM = 1000005;
int N, X[NLIM];
int candidat, appears, var;
void Read()
{
fin >> N;
for(int i = 1; i <= N; i++)
fin >> X[i];
for(int i = 1; i <= N; i++)
{
if(var == 0)
{
candidat = X[i];
var = 1;
}
else
{
if(X[i] == candidat)
var += 1;
else
var -= 1;
}
}
for(int i = 1; i <= N; i++)
if(X[i] == candidat)
appears += 1;
if(appears < N / 2 + 1) // majoritatea
fout << "-1";
else
fout << candidat << " " << appears;
}
int main()
{
Read();
return 0;
}