Cod sursa(job #1640754)

Utilizator infomaxInfomax infomax Data 8 martie 2016 19:11:00
Problema Elementul majoritar Scor 100
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=1,maj;
int main()
{
    F>>n>>v[1];maj=v[1];
    for (i=2;i<=n;i++)
    {
        F>>v[i];
        if (v[i]==maj)
            ++k;
        else
            --k;
        if (!k)
            maj=v[i],
            k=1;
    }

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

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