Cod sursa(job #1208728)

Utilizator mihaimusatMihai Musat mihaimusat Data 16 iulie 2014 14:38:42
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>

using namespace std;

int maj,i,y,nr,a[1000001],n;

int main()
{
    ifstream f("elmaj.in");
    ofstream g("elmaj.out");
    f>>n;
    for (i=1;i<=n;i++)
        f>>a[i];
    maj=a[1];
    nr=1;
    for (i=2;i<=n;i++)
       if (maj==a[i]) nr++;
       else
       {
           nr--;
           if (nr<1) {maj=a[i];
                      nr=1;}
       }
    for (i=1;i<=n;i++)
        if (maj==a[i]) y++;
    if (y>=n/2+1) g<<maj<<" "<<y<<'\n';
    else g<<"-1"<<'\n';

    return 0;
}