Cod sursa(job #2176330)

Utilizator dumitrescu_andreiDumitrescu Andrei dumitrescu_andrei Data 16 martie 2018 22:49:38
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
using namespace std;

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

int n,a[1000005],cand,nr;
int main()
{
    f>>n;
    cand = -1;
    int k=0;
    for(int i=1;i<=n;++i)
    {
        f>>a[i];
        if(k==0)
        {
            cand = a[i];
            k=1;
        }else if( a[i]==cand)
        k++;
        else
            k--;
    }
    if(cand <0)
    {
        g<<-1;
        return 0;
    }

    k=0;
    for(int i=1;i<=n;++i)
        if(a[i]==cand)
        k++;
    if(k>= n/2+1)
        g<<cand<<" "<<k;
    else
        g<<-1;
    return 0;

}