Cod sursa(job #2605306)

Utilizator vlad414141414141Vlad Ionescu vlad414141414141 Data 24 aprilie 2020 18:48:05
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");

int n;
int v[1000041];

int main()
{
    fin >> n;
    for (int i=0;i<n;i++)
    {
        fin >> v[i];
    }

    int val=0, aux=1;
    val=v[0];
    for (int i=1;i<n;++i)
    {
        if (v[i]!=val&&aux!=0)
        {
            aux--;
        }
        else if (v[i]==val)
        {
            aux++;
        }
        else if (aux==0)
        {
            val=v[i];
            aux=1;
        }
    }
    int c=0;
    for (int i=0;i<n;++i)
    {
        if (v[i]==val)
            c++;
    }
    if (c>=n/2+1)
        fout << val << " " << c;
    else
        fout << "-1";
    return 0;
}