Cod sursa(job #805828)

Utilizator ZancrowAugustin Zancrow Data 1 noiembrie 2012 11:03:59
Problema Elementul majoritar Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.44 kb
#include<stdio.h>
 int main(){
 int i,n,c,m,a[1000001];
 FILE* f=fopen("elmaj.in","r");
 fscanf(f,"%d",&n);
 for (i=0;i<n;i++) fscanf(f,"%d",&a[i]);
 m=a[0]; c=1;
 for(i=1;i<n;i++)
     if(m==a[i]) c++;
     else if(m!=a[i])
     {c--;
     if(c<0){c=1; m=a[i];}
     }
     c=0;
 for(i=0;i<n;i++) if (m==a[i]) c++;
 FILE* h=fopen("elmaj.out","w");
 if(c>n/2) fprintf(h,"%d %d",m,c); else fprintf(h,"-1");

  fclose(f);
  fclose(h);
  return 0;

 }