Cod sursa(job #1252406)

Utilizator killer301Ioan Andrei Nicolae killer301 Data 30 octombrie 2014 18:32:16
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <cstdio>

using namespace std;

int a[1000005];

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