Cod sursa(job #649173)
| Utilizator | Data | 15 decembrie 2011 16:06:06 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int v[1000001];
int main ()
{
int n,i,x,nr;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
f.close();
nth_element(v+1,v+((1+n)/2),v+n+1);
x=v[(1+n)/2];
nr=0;
for(i=1;i<=n;i++)
if(v[i]==x)
nr++;
if(nr>=(1+n)/2)
g<<x<<" "<<nr;
else g<<"-1";
g.close();
return 0;
}