Cod sursa(job #2082134)

Utilizator Hidden.bdBurlacu Doru Hidden.bd Data 5 decembrie 2017 19:04:15
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <iostream>
//#include <iostream>

using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

const int N = 1000001;
int v[N], n;
bool exMAJ = false;

int main()
{
    
    int k = 0, majoritar;
    fin >> n;
    for( int i = 1 ; i <= n ; ++i ){
        fin >> v[i];
        if( k == 0 ){
            majoritar = v[i];
            ++k;
        }else if( v[i] == majoritar ) ++k;
        else --k;
    }
    
    int aparitii = 0;
    
    for( int i = 1 ; i <= n ; ++i ){
        
        if( v[i] == majoritar ){
            exMAJ = true;
            ++aparitii;
        }
        
    }
    
    if( !exMAJ ) fout << -1;
    else fout << majoritar << " " << aparitii;
    
    
    return 0;
}