Cod sursa(job #2956028)

Utilizator Cosor_AlexiaCosor Alexia Cosor_Alexia Data 18 decembrie 2022 15:22:07
Problema Elementul majoritar Scor 60
Compilator cpp-32 Status done
Runda cnsh_16_12 Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;

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

long long n, i, candidate, cnt, c, a[100002];
int main()
{
    f >> n;
    for(i = 1; i <= n; i++)
        f >> a[i];

    for(i = 1; i <= n; i++)
    {
        if(c == 0)
            candidate = a[i], c++;
        else if(candidate == a[i])
            c++;
        else
            c--;
    }

    if(c == 0)
        g << -1;
    else
    {
        for(i = 1; i <= n; i++)
            if(a[i] == candidate)
                cnt++;

        if(cnt > n / 2)
            g << candidate << " " << cnt;
        else
            g << -1;
    }

    return 0;
}