Cod sursa(job #1126821)

Utilizator crisbodnarCristian Bodnar crisbodnar Data 27 februarie 2014 09:52:44
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int NMAX = 1e6 + 100;

int N, V[NMAX];

int main()
{
    fin >> N;
    for(int i = 1; i <= N; i++)
        fin >> V[i];

    int elmaj = -1, nr = 0;
    for(int i = 1; i <= N; i++)
    {
        if(!nr) elmaj = V[i], nr++;
        else if(elmaj == V[i]) nr++;
        else nr--;
    }

    if(elmaj == - 1)
    {
        fout << "-1";
        return 0;
    }

    nr = 0;
    for(int i = 1; i <= N; i++)
        if(elmaj == V[i]) nr++;
    if(nr > N / 2)
        fout << elmaj << ' ' <<nr;
    else
        fout << "-1";
    return 0;
}