Cod sursa(job #1105556)

Utilizator BaTDucKMocanu George BaTDucK Data 11 februarie 2014 21:11:48
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<stdio.h>
using namespace std;
int v[1000005];
int main()
{
    int i,n,k=0,actual=-1;
    freopen("elmaj.in","r",stdin);
    scanf("%d",&n);
    for(i=1;i<=n;++i){
        scanf("%d",&v[i]);
        if(k==0){
            actual=v[i];k++;
        }
        else if(v[i]==actual) k++;
        else k--;
    }
    fclose(stdin);
    freopen("elmaj.out","w",stdout);
    if(!k) printf("-1");
    else{
        k=0;
        for(i=1;i<=n;++i)
            if(actual==v[i]) k++;
        if(k>=n/2+1) printf("%d %d",actual,k);
        else printf("-1");
    }
    fclose(stdout);
    return 0;
}