Cod sursa(job #1212495)

Utilizator zacuscaAlex Iordache zacusca Data 24 iulie 2014 21:46:47
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int n,a[1000009];
int elm()
{
    int nr=0,k;
    for(int i=1; i<=n;i++)
    {
        if(nr==0) k=a[i],nr++;
        else if(a[i]==k) nr++;
        else nr--;
    }
    return k;
}
int main()
{
    in>>n;
    for(int i=1;i<=n;i++)
        in>>a[i];
    int k=elm();
    int nr=0;
    for(int i=1;i<=n;i++)
        if(a[i]==k) nr++;
    if(nr*2>n) out<<k<<' '<<nr<<'\n';
    else out<<"-1\n";
    out.close();
    return 0;
}