Cod sursa(job #2309374)

Utilizator Carol_LucaCarol Luca Carol_Luca Data 28 decembrie 2018 21:59:44
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include<bits/stdc++.h>

#define N 1000010

using namespace std;



int a[N];

int n;



int main() {

    ifstream cin("elmaj.in");

    ofstream cout("elmaj.out");

    ios_base::sync_with_stdio(false); cin.tie(0);



    cin>>n;

    for (int i=1; i<=n; i++) cin>>a[i];

    int k=1, idx=1;

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

        if (a[i] == a[idx]) ++k;

        else {

            --k;

            if (k==0) idx = i, k=1;

        }

    }

    k=0;

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

        if (a[idx] == a[i]) ++k;

    }

    if (k>=n/2+1) cout<<a[idx]<<" "<<k;

    else cout<<-1;



    return 0;

}