Pagini recente » Monitorul de evaluare | Cod sursa (job #1733547) | Cod sursa (job #1752654) | Istoria paginii runda/1/clasament | Cod sursa (job #1609231)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
const int NMax = 1000005;
int Candidat,Nr,k,N,X[NMax];
void ReadandSolveandPrint()
{
fin>>N;
for(int i = 1; i <= N; ++i)
{
fin>>X[i];
}
for(int i = 1; i <= N; ++i)
{
if(k == 0)
{
Candidat = X[i];
k = 1;
}
else
if(Candidat!=X[i])
k--;
else
k++;
}
for(int i = 1; i <= N; i++)
{
if(X[i] == Candidat)
Nr++;
}
if(Nr > (N/2))
fout<<Candidat<<" "<<Nr<<"\n";
else
fout<<"-1\n";
}
int main()
{
ReadandSolveandPrint();
return 0;
}