Cod sursa(job #2050391)

Utilizator Mirela_MagdalenaCatrina Mirela Mirela_Magdalena Data 28 octombrie 2017 09:45:05
Problema Elementul majoritar Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <cstdio>

using namespace std;
int n;
int a[1000001];
int main()
{
    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);
    scanf("%d", &n);
    int nr=0, c, fr=0;
    scanf("%d", &a[0]);
    nr = 1;
    c = a[0];
    for(int i=1; i<n; i++)
    {
        scanf("%d", &a[i]);
        if(a[i-1] == a[i])
            nr++;
        else{
            if(nr == 0)
                c = a[i];
            nr--;
        }
    }
    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");
    return 0;
}