Cod sursa(job #1896667)

Utilizator 1475369147896537415369Andrei Udriste 1475369147896537415369 Data 28 februarie 2017 20:28:30
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <cstdio>
using namespace std;

int N, v[1000000];
int cand, k;

int main(){

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

    scanf("%d", &N);

    for(int i = 0; i < N; i++){
        scanf("%d", &v[i]);
    }
    for(int i = 0; i < N; i++){
        if(k == 0){
            cand = v[i];
            k++;
        }else if(v[i] == cand) k++;
        else k--;
    }
    int count = 0;

    for(int i = 0; i < N; i++){
        if(v[i] == cand) count++;
    }
    if(count > N / 2) printf("%d %d", cand, count);
    else printf("-1");

    return 0;
}