Cod sursa(job #999343)
| Utilizator | Data | 19 septembrie 2013 23:06:00 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include<fstream>
#include<algorithm>
using namespace std;
int main(){
int v[1000001];
int n,i,j,nr,nr_aparitii=0,t=0;
ifstream f("elmaj.in");
f>>n;
for(i=0;i<n;i++)
f>>v[i];
f.close();
sort(v,v+n);
for(i=-1;i<n-1;){
t=0;
do{
t++;
i++;
}while(v[i]==v[i+1]);
if(nr_aparitii<t){
nr_aparitii=t;
nr=v[i];
}
}
ofstream g("elmaj.out");
if(nr_aparitii>n/2)
g<<nr<<' '<<nr_aparitii;
else
g<<-1;
g.close();
return 0;
}
