Cod sursa(job #1465281)

Utilizator fanache99Constantin-Buliga Stefan fanache99 Data 26 iulie 2015 21:34:17
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<cstdio>
using namespace std;
int v[1000010];
int main (){
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
    int n,elem_maj,nr_ap=0,nr_rel=0,i;
    scanf("%d",&n);
    for(i=1;i<=n;i++){
        scanf("%d",&v[i]);
        if(nr_rel==0){
            nr_rel=1;
            elem_maj=v[i];
        }
        else
            if(v[i]==elem_maj)
                nr_rel++;
            else
                nr_rel--;
    }
    if(nr_rel==0){
        printf("-1");
        return 0;
    }
    for(i=1;i<=n;i++)
        if(v[i]==elem_maj)
            nr_ap++;
    if(nr_ap>n/2)
        printf("%d %d",elem_maj,nr_ap);
    else
        printf("-1");
    return 0;
}