Cod sursa(job #650213)

Utilizator FIIBCPBuzila Octavian Calin FIIBCP Data 17 decembrie 2011 16:16:51
Problema Elementul majoritar Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 1.08 kb
#include <stdio.h>
 int x,n,i,k,v[10000];
 
   int main(){ 
        FILE *f,*g;
        f=fopen("elmaj.in","r");
        g=fopen("elmaj.out","w");
        fscanf(f,"%d",&n);
        for(i=0;i<=n-1;i++)
        fscanf(f,"%d", &v[i]);
        fclose(f);
        k=1;x=v[0];i=0;
        while(i<n-1){
                            if(k==0){
                                     x=v[i];
                                     k=1;
                                     i++;}
                             if(v[i]==x)
                              k++;
                              else
                               k--;
                               }
      k=0;
      for(i=0;i<n-1;i++){
                         if(v[i]==x)
                         k++;
                         }
      if(k-1>n/2)
       fprintf(g,"%d",k);
       else 
       fprintf(g,"%d",-1);
       fclose(g);
       return 0;
       }