Cod sursa(job #2632371)

Utilizator mihai03Mihai Grigore mihai03 Data 2 iulie 2020 23:22:07
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");

int n;
int v[1000001];



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

    int cand = -1, k = 0;

    for(int i = 1; i <= n; i++)
    {
        if(k == 0)
        {
            cand = v[i];
            k = 1;
        }
        else if(cand == v[i]) k++;
        else k--;
    }

    int nr = 0;
    for(int i = 1; i <= n; i++)
    {
        if(v[i] == cand) nr++;
    }
    if(nr > n / 2) fout << cand << " " << nr;
    else fout << -1;
    return 0;
}