Cod sursa(job #1901267)

Utilizator Vlad3108Tir Vlad Ioan Vlad3108 Data 3 martie 2017 20:46:36
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <cstdio>
#define LMAX 1000000
using namespace std;
int v[LMAX+5];
int main(){
   freopen("elmaj.in","r",stdin);
   freopen("elmaj.out","w",stdout);
   int n,i,M,k=0,ap=0;
   scanf("%d",&n);
   for(i=1;i<=n;++i)
	   scanf("%d",&v[i]);
   for(i=1;i<=n;++i){
        if (k==0){
            M=v[i];
            k=1;
        } 
        else if (v[i]==M) k++;   
        else k--;
    }
    for(i=1;i<=n;++i){
        if(v[i]==M) ap++;
    }
    if(ap>n/2) printf("%d %d\n",M,ap);
    else printf("-1\n");
    return 0;
}