Cod sursa(job #2073896)

Utilizator Bulboaca_EugenBulboaca Alexandru Eugen Bulboaca_Eugen Data 23 noiembrie 2017 20:14:54
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
using namespace std;
int v[1000001];
void pretendenti(int valoare, int &pretendent, int &aparitii)
{
    if(pretendent== valoare)
        aparitii++;
    else
        if(aparitii<=1)
    {
        pretendent=valoare;
        aparitii=1;
    }
        else aparitii--;

}
int main()
{
    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");
    int n, pretendent=0, contor=0, alpaca=0;
    fin >> n;
    for(int i=1; i<=n; ++i)
        {
            fin >> v[i];
            pretendenti(v[i], pretendent, contor);
        }
    contor=0;
    for(int i=1; i<=n; ++i)
        if(v[i]==pretendent)
            contor++;
    if(contor>=n/2+1)
        fout << pretendent << " " << contor;
    else fout << "-1";
    return 0;
}