Cod sursa(job #2892472)

Utilizator gabiadiBoscanici Adrian Gabriel gabiadi Data 22 aprilie 2022 11:58:27
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int a[1000001];


int main()
{
    int n,nr=0,cand=-1,i;
    f>>n;
    for(int i=1;i<=n;i++)
    {
        f>>a[i];
        if(nr==0)
        {
            cand=a[i];
            nr=1;
        }
        else
            if(a[i]==cand)
                nr++;
            else
                nr--;
    }
    if(nr==0)
        g<<-1;
    else
    {
        nr=0;
        for(i=1;i<=n;i++)
            if(cand==a[i])
                nr++;
        if(nr>n/2)
            g<<cand<<' '<<nr;
        else
            g<<-1;
    }
    return 0;
}