Cod sursa(job #1572317)

Utilizator jason2013Andronache Riccardo jason2013 Data 18 ianuarie 2016 20:56:11
Problema Elementul majoritar Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMax = 2e8;
int v[NMax], n, ap, el, k;

int main()
{
    fin>>n;
    for(int i = 0; i < n; i++)
        fin>>v[i];
    ap = 0;
    el = v[0];
    for(int i = 1; i <=n; i++)
    {
        if(el != v[i])
        {
            ap--;
            if(ap == 0)
            {
                ap ++;
                el = v[i];
            }
        }
        else
            ap++;
    }
    ap=0;
    for(int i=0; i < n; i++)
        if(el == v[i])
            ap++;
    if(ap > n/2)
        fout<<el<<" "<<ap;
    else
        fout<<-1;
    return 0;
}