Cod sursa(job #1515853)

Utilizator OFY4Ahmed Hamza Aydin OFY4 Data 2 noiembrie 2015 12:05:36
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<iostream>
#include<cstdio>
using namespace std;

int n,ct,nr;

int main(){

    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);

    scanf("%d", &n);

    int v[n];

    for(int i=0;i<n;++i){

        scanf("%d", &v[i]);
    }

    ct=1;
    int aux=v[0];

    for(int i=1;i<n;++i){

        if(v[i]!=aux){

            --ct;
        }
        else{

            ++ct;
        }

        if(ct==0){

            ct=1;
            aux=v[i];
        }
    }

    for(int i=0;i<n;++i){

        if(v[i]==aux){

            ++nr;
        }
    }

    if(nr>(n/2)){

        printf("%d %d\n", aux, nr);
    }
    else{

        printf("-1\n");
    }
}