Cod sursa(job #1413012)

Utilizator 4ONI2015oni2015 4ONI2015 Data 1 aprilie 2015 18:04:14
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>

using namespace std;
int n, x, sol, a[1000005], cnt, i;
int main()
{
    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);
    scanf("%d", &n);
    cnt=1;
    for(i = 1; i <= n; i++)
    {
        scanf("%d", &a[i]);
        if(a[i] == x)
            cnt++;
        else
        {
            cnt--;
            if(!cnt)
            {
                cnt = 1;
                x = a[i];
            }
        }
    }
    for(i = 1; i <= n; i++)
        if(a[i] == x)
            sol++;
    if(sol > n / 2)
        printf("%d %d", x, sol);
    else
        printf("-1");
    return 0;
}