Cod sursa(job #1960279)

Utilizator mateibanuBanu Matei Costin mateibanu Data 10 aprilie 2017 12:34:33
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>

using namespace std;

FILE*f=fopen("elmaj.in","r");
FILE*g=fopen("elmaj.out","w");

int v[1000004];

int main()
{
    int n,l=0,x=0,i;
    fscanf(f,"%d",&n);
    for (i=1;i<=n;i++){
        fscanf(f,"%d",&v[i]);
        if (l==0) {
            l++;
            x=v[i];
        }
        else{
            if (v[i]==x) l++;
            else l--;
        }
    }
    l=0;
    for (i=1;i<=n;i++) if (v[i]==x) l++;
    if (l>=n/2+1) fprintf(g,"%d",x);
    else fprintf(g,"-1");
    fclose(f);
    fclose(g);
    return 0;
}