Cod sursa(job #1769562)

Utilizator matei8787Matei Dobrea matei8787 Data 2 octombrie 2016 19:09:59
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<iostream>
#include<cstdio>
using namespace std;
int v[1000007];
int main()
{
    freopen("elmaj.in","r",stdin);
    freopen("elmaj.out","w",stdout);
    int n,m,i,cand,s=0,l=0;
    cin>>n;
    for ( i = 1 ; i <= n ; i++ ){
        cin>>m;
        v[i] = m;
    }
    cand = v[1];
    for ( i = 2 ; i <= n ; i++ ){
        if ( cand == v[i] && s != 0 )
            s++;
        else
            if ( cand != v[i] && s != 0 )
                s--;
        else
            if ( s == 0 )
                cand = v[i];
    }
    for ( i = 1 ; i <= n ; i++ ){
        if ( v[i] == cand )
            l++;
    }
    if ( l > n/2 )
        cout<<cand<<endl<<l;
}