Cod sursa(job #2650589)

Utilizator Ykm911Ichim Stefan Ykm911 Data 19 septembrie 2020 14:06:33
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

using namespace std;

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

int n, a[1000005];

int main()
{
    int i, k = 0, nr = -1, ap = 0;
    fin >> n;
    for(i = 1; i <= n; i++)
    {
        fin >> a[i];
        if(k == 0)
        {
            nr = a[i];
            k = 1;
        }
        else if(a[i] == nr)
            k++;
        else k--;
    }
    for(i = 1; i <= n; i++)
        if(a[i] == nr)
            ap++;
    if(ap > n / 2)
        fout << nr << " " << ap << "\n";
    else
        fout << "-1\n";
    return 0;
}