Cod sursa(job #735307)
| Utilizator | Data | 16 aprilie 2012 00:27:32 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <algorithm>
#include <fstream>
using namespace std;
#define nmax (int)1e6
long n,v[nmax];
int main()
{
ifstream in("elmaj.in");
ofstream out("elmaj.out");
long i;
in>>n;
for(i=0;i<n;i++) in>>v[i];
sort(v,v+n);
long value=v[n/2];
if((upper_bound(v,v+n,value)-lower_bound(v,v+n,value))>=n/2+1)
{
out<<value<<' '<<(upper_bound(v,v+n,value)-lower_bound(v,v+n,value));
}else
{
out<<'-1';
}
in.close();
out.close();
return 0;
}
