Cod sursa(job #1839609)

Utilizator IsacLucianIsac Lucian IsacLucian Data 3 ianuarie 2017 10:26:30
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>

using namespace std;
int a[1000000];
int main()
{
    int n,i,candidat,s;
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    candidat=a[1];
    s=1;
    for(i=2;i<=n;i++)
    {
        if(a[i]==candidat)s++;
    else s--;
    if(s==0)
    {
        candidat=a[i];
        s=1;
    }
    }
    s=0;
    for(i=1;i<=n;i++)
        if(candidat==a[i])s++;
    if(s>n/2)fout<<candidat<<" "<<s;
    else
        fout<<"-1";
    fout.close();
    return 0;
}