Cod sursa(job #1418650)

Utilizator Alex1199Alex Bercea Alex1199 Data 13 aprilie 2015 16:38:44
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <stdio.h>
int n, a[1000001], nr, el;
int main(){
 FILE *f=fopen("elmaj.in","r");
 FILE *g=fopen("elmaj.out","w");
 fscanf(f,"%d",&n);
 for(int i=1;i<=n;i++){
  fscanf(f,"%d",&a[i]);
 }
 el=a[1];
 nr=1;
 for(int i=2;i<=n;i++){
   if(a[i]==el){nr++;}
   else{if(!nr){el=a[i]; nr=1;}
        else nr--;
   }
 } nr=0;
 for(int i=1;i<=n;i++){
    if(a[i]==el) nr++;
 }
 if(nr>n/2)
 fprintf(g,"%d %d",el,nr);
 else
 fprintf(g,"%d",-1);
    return 0;
}