Cod sursa(job #1515244)

Utilizator refugiatBoni Daniel Stefan refugiat Data 1 noiembrie 2015 12:31:46
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.68 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream si("elmaj.in");
ofstream so("elmaj.out");
int v[1000005];
int main()
{
    int n;
    si>>n;
    int el,cont=1;
    si>>v[0];
    int i;
    el=v[0];
    for(i=1;i<n;++i)
    {
        si>>v[i];
        if(el==v[i])
        {
            ++cont;
        }
        else
        {
            cont--;
            if(cont==0)
            {
                cont=1;
                el=v[i];
            }
        }
    }
    cont=0;
    for(i=0;i<n;++i)
    {
        if(v[i]==el)
            ++cont;
    }
    if(cont>(n>>1))
    {
        so<<el<<' '<<cont;
    }
    else
        so<<-1;
}