Cod sursa(job #1066751)
Utilizator | Mihai X NCode | Data | 25 decembrie 2013 15:53:48 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include <fstream>
#include <algorithm>
using namespace std;
int v[1000007];
int main(){
ifstream in("elmaj.in ");
ofstream out("elmaj.out");
int n;
in>>n;
int count=1;
for(int i=1;i<=n;i++)
in>>v[i];
sort(v+1,v+n+1); // sort
int mid=n/2+1; // div
for (int i=1;i<=n;i++) //roll
{
if(v[i]==v[i+1]) // check
++count;
else
if(count>=mid) //over
{
out<<v[i]<<" "<<count<<"\n";
return 0;
}
else
count=1;
}
if (count==1)
out<<-1;
in.close();
out.close();
return 0;
}