Cod sursa(job #718674)

Utilizator DuxarFII-Stefan-Negrus Duxar Data 20 martie 2012 23:12:22
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<fstream>
#include<algorithm>

#define NMAX 1000001
#define INfile "elmaj.in"
#define OUTfile "elmaj.out"

using namespace std ;

ifstream F ( INfile ) ;
ofstream G ( OUTfile ) ;

int V [ NMAX ] ;
int N , EM , OKE , nra ;

void read () ;
void solve () ;
void write () ;

int main ()
{
    read () ;

    solve () ;

    write () ;

    F.close () ;
    G.close () ;

    return 0 ;
}

void read ()
{
    int i ;
    F >> N ;
    for ( i = 1 ; i <= N ; ++ i )
        F >> V [ i ] ;
}

void solve ()
{
    int i ;

    sort ( V + 1 , V + 1 + N ) ;

    EM = V [ N / 2 + 1 ] ;
    nra = 0 ;

    for ( i = 1 ; i <= N ; ++ i )
        if ( V [ i ] == EM )
            ++ nra ;
    if ( nra >= N / 2 + 1 )
        OKE = 1 ;
}

void write ()
{
    if ( OKE )
        G << EM << ' ' << nra << '\n' ;
}