Cod sursa(job #1499362)

Utilizator Julian.FMI Caluian Iulian Julian. Data 10 octombrie 2015 15:35:32
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <iostream>
#include <fstream>
#define nmax 1000001
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
long v[nmax];
int main()
{long n,el,nr,i;
nr=el=0;
    fin>>n;
   for(i=0;i<n;i++)
    {fin>>v[i];
     if(nr==0){el=v[i];nr=1;}
        else if(v[i]!=el)nr--;
        else nr++;
    }
    nr=0;
    for(i=0;i<n;i++)
        if(v[i]==el)nr++;
    if(nr >= n/2 + 1)fout<<el<<' '<<nr;
    else fout<<-1;

}