Cod sursa(job #2509608)

Utilizator DunareanuDinu Dunareanu Dunareanu Data 14 decembrie 2019 13:40:46
Problema Elementul majoritar Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <stdio.h>
#include <stdlib.h>

FILE *fin , *fout;

int nr[1000000];

int main() {
    fin=fopen("elmaj.in","r");
    fout=fopen("elmaj.out","w");
    int n,i,c,v;
    fscanf(fin,"%d",&n);
    for(i=0;i<n;i++) {
        fscanf(fin,"%d",&nr[i]);
    }
    c=-1;
    v=0;
    for(i=0;i<n;i++) {
        if(v==0) {
            c=nr[i];
            v=1;
        }
        else {
            if(nr[i]==c) {
                v++;
            }
            else {
                v--;
            }
        }
    }

    v=0;
    for(i=0;i<n;i++) {
        if(nr[i]==c) {
            v++;
        }
    }
    if(v<=n/2) {
        fprintf(fout,"-1\n");
    }
    else {
        fprintf(fout,"%d %d\n",c,v);
    }
    fclose(fin);
    fclose(fout);
    return 0;
}