Cod sursa(job #1588862)

Utilizator lauratenderLaura Tender lauratender Data 3 februarie 2016 17:46:25
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 n, i, c, av;
    in>>n;
    for (i=1; i<=n; i++)
        in>>v[i];
    c=v[1];
    av=1;
    for ( i=2; i<=n; i++)
    {
        if ( c == v[i] ) av++;
        else
        {
            if ( av == 0)
            {
                c=v[i];
                av=1;
            }
            if ( v[i] != c)
                av--;
        }
    }
    av=0;
    for ( i=1; i<=n; i++)
    {
        if ( v[i]==c) av++;
    }
    if ( av > n/2)
        out<<c<<" "<<av;
    else out<<"-1";


    return 0;
}