Cod sursa(job #2312538)

Utilizator laura.chiriacLaura Chiriac laura.chiriac Data 4 ianuarie 2019 23:32:01
Problema Elementul majoritar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>
#define N 100010
using namespace std;

int a[N],n;

int main()
{
    int i,cand,vot;
    cin>>n;
    for(i=1; i<=n; ++i) cin>>a[i];
    /// etapa 1 valoarea care are sanse sa fie element majoritar
    cand=a[1]; vot=1;
    for(i=2; i<=n; ++i)
        if(a[i]==cand) vot++;
        else if(vot!=0) vot--;
            else { cand=a[i]; vot=1; }
    ///etapa 2 verficam daca chiar este element majoritar
    vot=0;
    for(i=1; i<=n; ++i)
        if(a[i]==cand) vot++;
    if(vot>n/2) cout<<cand<<" "<<vot<<"\n";
    else cout<<-1<<"\n";
    return 0;
}