Cod sursa(job #2601403)

Utilizator Alex_tz307Lorintz Alexandru Alex_tz307 Data 14 aprilie 2020 13:57:11
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");

int n, x[1000005];

int main()
{
    f  >> n;
    for(int i = 0 ; i < n ; ++ i) f >> x[i];

    int candidat = x[0], contor = 1;
    for(int  i = 1; i < n ; ++i)
    {
        if(x[i] == candidat) contor++;
        else contor --;
        if(contor == 0) candidat = x[i], contor = 1;
    }

    contor = 0;
    for(int i = 0 ; i < n ; ++ i) if(x[i] == candidat) contor ++;
    if(contor > n/2) g << candidat << " " << contor;
    else g << -1;

    f.close();
    g.close();
    return 0;
}