Cod sursa(job #941623)

Utilizator Paula-ElenaPaula-Elena Margarit Paula-Elena Data 19 aprilie 2013 10:51:37
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream>
#include<algorithm>
using namespace std;

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

const int MAXN = 1000010;
int v[MAXN], maax, n, aux, p, c, nr;

int main(){
    int i;
    fin >> n;
    maax = n/2 + 1;
    for(i=0; i<n; ++i)
        fin >> v[i];

    c = 1;
    aux = v[0];
    for(i=1; i<n; ++i){
        if(c == 0)
            aux = v[i];
        if(aux != v[i])
            c--;
        else
            c++;
    }

    for(i=0; i<n; ++i)
        if(v[i] == aux)
            p++;

    if(p >= maax)
        fout << aux << " " << p;
    else
        fout << -1;

    fin.close();
    fout.close();

    return 0;
}