Cod sursa(job #1418641)
Utilizator | Data | 13 aprilie 2015 16:15:34 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
#define dmax 3000010
using namespace std;
long N; long v[dmax];
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int main()
{
long i,j; bool GATA=1;
in >> N;
for(i=1; i<=N; i++) in >> v[i];
sort(v+1,v+N+1);
i=1;
while(i<=N && GATA==1)
{
j=i;
while(j<=N && v[j+1]==v[i]) j++;
if(j-i+1 > N/2) {out<<v[i]<<" "<<j-i+1; GATA=0;}
i=j+1;
}
if(GATA==1) out << -1;
return 0;
}