Cod sursa(job #650856)

Utilizator FIIABCFIIApetroaieiBurlicaCuciureanu FIIABC Data 19 decembrie 2011 00:40:08
Problema Elementul majoritar Scor 30
Compilator c Status done
Runda Arhiva educationala Marime 0.59 kb
#include "stdio.h"
int i,n,v[1000000];

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

 int nr_aparitii=0;
 for(i=0;i<n;i++)
  if(v[i]==cand)
   nr_aparitii++;

 if(nr_aparitii>n/2)
  fprintf(out,"%d %d",cand,nr_aparitii);
 else
  fprintf(out,"-1");
 fclose(in);
 fclose(out);
 return 0;
}