Cod sursa(job #1588861)

Utilizator alex202Alex Abrudan alex202 Data 3 februarie 2016 17:42:40
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>

using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int v[1000001];
int main()
{
    int av,c,n,i;
    in>>n;
    for(i=0; i<=n-1; i++)
        in>>v[i];
    c=v[0];
    av=1;
    for(i=1; i<=n-1; i++)
    {
        if(c==v[i])
            av++;
        else
        {
            if(av==0)
            {
                c=v[i];
                av=1;
            }
            if(v[i]!=c)
                av--;
        }
    }
    av=0;
    for(i=0; i<=n-1; i++)
    {
        if(v[i]==c)
            av++;
    }
    if(av>n/2)
        out<<c<<" "<<av;
    else
        out<<-1;
    return 0;
}