Pagini recente » Cod sursa (job #233375) | Cod sursa (job #395033) | Cod sursa (job #3135260) | Cod sursa (job #507285) | Cod sursa (job #709881)
Cod sursa(job #709881)
//Include
#include <fstream>
#include <limits.h>
#include <queue>
using namespace std;
//Variabile
int n;
int citit;
int curent = -1, nrAparitii;
int elemMax, aparitiiMax;
priority_queue<int> q;
//Main
int main()
{
ifstream in("elmaj.in");
ofstream out("elmaj.out");
in >> n;
for(int i=1 ; i<=n ; ++i)
{
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)
out << elemMax << " " << aparitiiMax;
else
out << -1;
in.close();
out.close();
return 0;
}