Cod sursa(job #2050470)

Utilizator Mirela_MagdalenaCatrina Mirela Mirela_Magdalena Data 28 octombrie 2017 10:01:21
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <cstdio>

using namespace std;
int n;
int a[1000001];

void frecv(int c)
{
    int fr=0;
    for(int i=0; i<n; i++)
        if(a[i] == c)
            fr++;
    if(fr >= n/2+1)
        printf("%d %d", c, fr);
    else printf("-1");
}

void citire(int c)
{
    scanf("%d", &a[0]);
    c = a[0];
    for(int i=1; i<n; i++)
        scanf("%d", &a[i]);
}

int main()
{
    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);

    scanf("%d", &n);
    int nr=1, c;
    citire(c);
    for(int i=1; i<n; i++)
    {
        if(c == a[i])
            nr++;
        else{
            if(nr == 0)
                {c = a[i]; nr = 1;}
            nr--;
        }
    }
    frecv(c);
    return 0;
}