Pagini recente » Cod sursa (job #1107851) | Cod sursa (job #1989563) | Cod sursa (job #2272258) | Cod sursa (job #1650672) | Cod sursa (job #709872)
Cod sursa(job #709872)
//Include
//#include <stdio.h>
#include <fstream>
#include <limits.h>
#include <queue>
using namespace std;
//Variabile
//FILE *in, *out;
int n;
int citit;
int curent = -1, nrAparitii;
int elemMax, aparitiiMax;
priority_queue<int> q;
//Main
int main()
{
//in = fopen("elmaj.in","rt");
//out = fopen("elmaj.out","wt");
ifstream in("elmaj.in");
ofstream out("elmaj.out");
//fscanf(in, "%d", &n);
in >> n;
for(int i=1 ; i<=n ; ++i)
{
//fscanf(in, "%d",&citit);
in >> citit;
q.push(citit);
}
q.push(INT_MIN);
while(!q.empty())
{
if(q.top() == curent)
++nrAparitii;
else
{
if(nrAparitii > aparitiiMax)
{
aparitiiMax = nrAparitii;
elemMax = curent;
}
curent = q.top();
nrAparitii = 1;
}
q.pop();
}
if(aparitiiMax >= n/2+1)
//fprintf(out, "%d %d", elemMax, aparitiiMax);
out << elemMax << " " << aparitiiMax;
//else fprintf(out, "-1");
else
out << -1;
//fclose(in);
//fclose(out);
in.close() , out.close();
return 0;
}