Cod sursa(job #1419797)

Utilizator Burbon13Burbon13 Burbon13 Data 16 aprilie 2015 16:07:43
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>

using namespace std;

const int mx = 1000069 ;

int n,v[mx] ;

int main(){
    freopen( "elmaj.in" , "r" , stdin );
    freopen( "elmaj.out" , "w" , stdout );

    int maj = -1 , cate = 0  ;
    scanf( "%d" , &n );
    for ( int i = 0 ; i < n ; i ++ ){
        scanf( "%d" , &v[i] );
        if ( not cate )
            maj = v[i] , cate = 1 ;
        else if ( maj == v[i] )
            cate ++ ;
        else
            cate -- ;
    }

    int sum = 0 ;
    for( int i = 0 ; i < n ; i ++ )
        if ( v[i] == maj )
            sum ++ ;

    if ( sum >= n / 2 + 1 )
        printf( "%d %d\n" , maj , sum ) ;
    else
        printf( "-1\n" ) ;

    return 0;
}