Cod sursa(job #2053634)

Utilizator FredyLup Lucia Fredy Data 31 octombrie 2017 23:16:14
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

#define lim 1000010
int n, ini[lim], ultim, c, rez;

int main()
{
    fin>>n;
    for (int i=1; i<=n; i++)
        fin>>ini[i];
    sort (ini+1, ini+n+1);
    ultim = ini[1];
    c=1;

    for (int i=2; i<=n; i++)
    {
        if (ini[i] == ultim)  c++;
        else    c--;
        if (c<0)
        {
            ultim = ini[i];
            c=0;
        }
    }


    for (int i=1; i<=n; i++)
        if (ultim==ini[i])    rez++;
    cout<<ultim<<rez;
    if (rez>=n/2)
        fout<<ultim<<' '<<rez;
    else    fout<<-1;


    fin.close();
    fout.close();
    return 0;
}