Cod sursa(job #674438)
| Utilizator | Data | 6 februarie 2012 11:09:43 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.63 kb |
#include<fstream>
#include<algorithm>
using namespace std;
int n,v[1000000];
int main()
{
ifstream q("elmaj.in");
ofstream w("elmaj.out");
q>>n;
for(int i=1; i<=n; i++)
{
q>>v[i];
}
sort(v+1,v+n+1);
int cate=1,nm=-1,na=-1;
v[0]=-1;
for(int i=1;i<=n;i++) {
if(v[i]==v[i-1]) {
cate++;
}
else {
if(cate>=(n/2+1)) {
na=cate;
nm=v[i-1];
cate=1;
}
}
}
if(na==-1) {
w<<-1;
return 0;
}
w<<nm<<" "<<na;
return 0;
}
