Cod sursa(job #1878942)

Utilizator DenisONIcBanu Denis Andrei DenisONIc Data 14 februarie 2017 17:01:31
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <cstdio>
#define Nmax 1000001
using namespace std;

ofstream g("elmaj.out");

int n,nr,sav,v[Nmax];
int main()
{
    freopen("elmaj.in","r",stdin);

    scanf("%d",&n);

    sav = -1;
    for (int i=1;i<=n;i++)
    {
        scanf("%d",&v[i]);
        if (v[i]!=sav)
            nr--;
        else
            nr++;
        if (nr<=0)
        {
            nr=1;
            sav = v[i];
        }
    }
    nr=0;
    for (int i=1;i<=n;i++)
    {
        if (v[i]==sav)
            nr++;
    }
    if (nr>n/2)
        g<<sav<<' '<<nr;
    else
        g<<-1;

    return 0;
}