Cod sursa(job #658450)
Utilizator | FMI - Petcu Ion Cristian jean | Data | 8 ianuarie 2012 21:01:00 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include<stdio.h>
#define Nmax 1000010
int v[Nmax],i,n,cnt,x;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
for( i = 1 ; i <= n ; i++ )
scanf("%d",&v[i]);
x = v[1] ; cnt = 1 ;
for( i = 1 ; i <= n ; i++ )
if( !cnt )
x = v[i], cnt = 1 ;
else
if( x == v[i] ) cnt++ ;
else
cnt--;
cnt = 0 ;
for( i = 1 ; i <= n ; i++ )
if( v[i] == x ) cnt++;
if( cnt >= n/2 + 1 ) printf("%d %d",x,cnt);
else printf("-1");
return 0 ;
}