Cod sursa(job #2086648)

Utilizator pistvanPeter Istvan pistvan Data 12 decembrie 2017 12:13:28
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#define MaxN 1000000
using namespace std;

int N, a[MaxN];

int main()
{
    ifstream f("elmaj.in");
    ofstream g("elmaj.out");

    f>>N;
    int d = 0, m = -1;
    for (int i=0;i<N;i++)
    {
        f>>a[i];
        if (d==0)
        {
            m = a[i];
            d++;
        }
        else if (a[i]!=m)
            d--;
        else
            d++;
    }
    d = 0;
    for (int i=0;i<N;i++)
        if (a[i]==m)
            d++;
    if (2*d>N)
        g<<m<<' '<<d;
    else
        g<<-1;
}