Cod sursa(job #1640733)

Utilizator infomaxInfomax infomax Data 8 martie 2016 19:04:42
Problema Elementul majoritar Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>

using namespace std;

ifstream F ("elmaj.in");
ofstream G ("elmaj.out");

int n,i,v[1000004],k,maj;
int main()
{
    F>>n>>v[1];maj=v[1];
    for (i=2;i<=n;i++)
    {
        F>>v[i];
        if (v[i]==v[i-1])
            ++k;
        else
            --k;
        if (!k)
            maj=v[i],
            ++k;
    }

    k=0;
    for (i=1;i<=n;i++)
        if (maj==v[i])
            ++k;

    if (2*k > n)
        G<<maj<<" "<<k;
    else
        G<<"-1";
    return 0;
}