Cod sursa(job #1198675)

Utilizator adrianbercaBerca Adrian adrianberca Data 16 iunie 2014 17:16:40
Problema Elementul majoritar Scor 50
Compilator c Status done
Runda Arhiva educationala Marime 0.73 kb
#include <stdio.h>
#include <stdlib.h>
int v[1000000];
int main()
{
  FILE *f,*g;
  f=fopen("elmaj.in","r");
  g=fopen("elmaj.out","w");

  int i,n,j=2,k=1,a=0,x=0;
  fscanf(f,"%d",&n);
  for(i=1;i<=n;i++)
  fscanf(f,"%d",&v[i]);
  i=1;
  for(i=1;i<=n;)
  {

      if(j<=n)
      {
       if(v[i]==v[j])
      {

          j++;
          k++;
           if(k>=n/2+1)
          {
          a=1;
          fprintf(g,"%d\t",v[i]);
          fprintf(g,"%d",k);
          break;
          }
      }
      else
        {
        j++;
        }
      }


      if(j>n)
       {
        k=1;
        i++;
        j=i+1;
       }


  }
  if(a==0)
  fprintf(g,"-1");
  fclose(f);
  fclose(g);
  return 0;
}