Cod sursa(job #1739569)

Utilizator AnaRaduAna-Maria Radu AnaRadu Data 9 august 2016 18:58:57
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <stdio.h>
#define lim 1000000
int v[lim];
int main(){
    FILE *fin,*fout;
    fin=fopen("elmaj.in","r");
    fout=fopen("elmaj.out","w");
    int i,n,elem,ap=0;
    fscanf(fin,"%d",&n);
    for(i=1;i<=n;i++){
        fscanf(fin,"%d",&v[i]);
        if(ap==0){
            elem=v[i];
            ap=1;
        }
        else
            if(elem==v[i])
                ap++;
            else
                ap--;
    }
    ap=0;
    for(i=1;i<=n;i++)
        if(v[i]==elem)
            ap++;
    if(ap>n/2)
        fprintf(fout,"%d %d",elem,ap);
    else
        fprintf(fout,"-1");
    fclose(fin);
    fclose(fout);
    return 0;
}