Cod sursa(job #2397405)

Utilizator bilghinIsleam Bilghin bilghin Data 4 aprilie 2019 13:09:37
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>

int v[1000005];

int main(){

FILE* si=fopen("elmaj.in","r");
FILE* so=fopen("elmaj.out","w");

int n,a,i,maj,fmj=0;

fscanf(si,"%d%d",&n,&maj);
v[0]=maj;
a=1;
for(i=1;i<n;i++){
    fscanf(si,"%d",&v[i]);
    if(maj==v[i]){
        a++;
    }
    else{
        if(a){
            a--;
        }
        else{
            maj=v[i];
            a=1;
        }
    }
}
for(i=0;i<n;i++){
    if(v[i]==maj) fmj++;
}
if(fmj>n/2) fprintf(so,"%d %d",maj,fmj);
else fprintf(so,"-1");

fclose(si);
fclose(so);

return 0;
}