Cod sursa(job #1991840)

Utilizator vladm98Munteanu Vlad vladm98 Data 18 iunie 2017 14:47:03
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int  v[1000001];
int main()
{
    int n, pretendent, aparitie, k=0;
    fin>>n;
    for (int i=1;i<=n;++i)
        fin>>v[i];
    pretendent=v[1];
    aparitie=1;
    for (int i=2;i<=n;++i)
    {
        if (pretendent==v[i])
        {
            aparitie++;
        }
        else
        {
            aparitie--;
            if (aparitie==0)
            {
                pretendent=v[i];
                aparitie++;
            }
        }
    }
    for (int i=1;i<=n;++i)
        if  (pretendent==v[i])
            k++;
    if (k>=n/2+1)
        fout<<pretendent<< " "<<k;
    else
        fout<<-1;

}