Cod sursa(job #828914)

Utilizator sleepaholicNeculaescu Theodor sleepaholic Data 4 decembrie 2012 17:31:48
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
using namespace std;

int v[1000001];
int main()
{
    ifstream in("elmaj.in");
    ofstream out("elmaj.out");
    int n,i;
    in >> n;
    int ap = 0;
    int el = -1;
    for(i=0;i<n;++i)
    {
        in >> v[i];
        if(v[i] == el)
            ++ap;
        else
            if(!ap)
                el = v[i],ap=1;
            else
                --ap;
    }
    if(ap)
    {
        ap=0;
        for(i=0;i<n;++i)
            if(v[i] == el)
                ++ap;
        if(ap > (n>> 1))
            out << el << " " << ap << "\n";
        else
            out << "-1\n";
    }
    else
        out << "-1\n";
    return 0;
}