Cod sursa(job #1692390)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 20 aprilie 2016 19:31:12
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>
#define MAXN 1000000
int v[MAXN];
int main(){
    FILE*fi,*fout;
    int i,n,el,con;
    fi=fopen("elmaj.in" ,"r");
    fout=fopen("elmaj.out" ,"w");
    fscanf(fi,"%d" ,&n);
    for(i=0;i<n;i++)
      fscanf(fi,"%d" ,&v[i]);
    el=v[0];
    con=1;
    for(i=1;i<n;i++){
       if(v[i]==el)
         con++;
       else{
          con--;
          if(con<0){
             con=0;
             el=v[i];
          }
       }
    }
    con=0;
    for(i=0;i<n;i++)
      if(v[i]==el)
         con++;
    fprintf(fout,"%d %d" ,el,con);
    fclose(fi);
    fclose(fout);
    return 0;
}