Cod sursa(job #2661067)

Utilizator Remus.RughinisRemus Rughinis Remus.Rughinis Data 21 octombrie 2020 11:47:01
Problema Elementul majoritar Scor 100
Compilator c-64 Status done
Runda Temă vectori frecvență & hashing clasa a 9-a Marime 0.56 kb
#include <stdio.h>
#include <stdlib.h>
int v[1000000];
int main(){
  int n,i,maj,nr;
  FILE *fin, *fout;
  fin=fopen("elmaj.in","r");
  fscanf(fin,"%d",&n);
  nr=0;
  for(i=0;i<n;i++){
    fscanf(fin,"%d",&v[i]);
    if(nr==0){
      maj=v[i];
      nr=1;
    }else if(v[i]==maj)
      nr++;
    else
      nr--;
  }
  fclose(fin);

  nr=0;
  for(i=0;i<n;i++){
    if(v[i]==maj)
      nr++;
  }
  fout=fopen("elmaj.out","w");
  if(nr>=n/2+1)
    fprintf(fout,"%d %d\n",maj,nr);
  else
    fprintf(fout,"-1\n");
  fclose(fout);
  return 0;
}