Cod sursa(job #2237736)

Utilizator lucian2015blaugranadevil lucian2015 Data 2 septembrie 2018 21:23:21
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

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

int n, v[1000001], cand, k;

int main()
{

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

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

}