Cod sursa(job #2343641)

Utilizator StanCatalinStanCatalin StanCatalin Data 14 februarie 2019 10:12:33
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>

using namespace std;

const int dim = 1000005;

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

int n,a[dim];

int main()
{
    int i,j,cand = -1,k = 0;
    in >> n;
    for (i=1; i<=n; i++)
    {
        in >> a[i];
    }
    for (i=1; i<=n; i++)
    {
        if (k == 0)
        {
            cand = a[i];
            k = 1;
        }
        else
        {
            if (cand == a[i])
            {
                k++;
            }
            else
            {
                k--;
            }
        }
    }
    int cnt = 0;
    for (i=1; i<=n; i++)
    {
        if (a[i] == cand)
        {
            cnt++;
        }
    }
    if (cnt > n/2)
    {
        out << cand << " " << cnt;
    }
    else out << -1;
    return 0;
}