Cod sursa(job #2421374)
Utilizator | Enal Gemaledin Blaugranas | Data | 14 mai 2019 21:17:32 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include<cstdio>
const int N=8388608;
char r[N];
int v[1000001],p,c,u,i,n;
inline int A()
{
int n=0;
for(;47<r[p];++p)
n=n*10+r[p]-48;
++p;
return n;
}
int main()
{
freopen("elmaj.in","r",stdin),freopen("elmaj.out","w",stdout),fread(r,1,N,stdin),n=A();
for(i=0;i<n;i++)
{
v[i]=A();
if(v[i]==c)
++u;
else if(u)
--u;
else
c=v[i],u=1;
}
for(u=i=0;i<n;i++)
u+=v[i]==c;
printf(u>n>>1?"%d %d":"-1",c,u);
return 0;
}