Cod sursa(job #2217021)
Utilizator | Onut Andrei andreiomd1 | Data | 28 iunie 2018 17:22:54 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.67 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
const int NMAX=1e6;
long long N, a[NMAX+2];
int i;
int main()
{
f>>N;
for(i=1; i<=N; i++)
f>>a[i];
sort(a+1, a+N+1);
long long val=-1, afis=0;
for(i=1; i<N; i++)
if(a[i]==a[i+1])
{
int aux=1;
while(a[i]==a[i+1])
{
i++;
aux++;
}
i--;
if(aux>=(N/2+1))
val=a[i], afis=aux;
}
if(val==-1)
g<<-1;
else
g<<val<<' '<<afis<<'\n';
return 0;
}