Cod sursa(job #2509642)

Utilizator MihaiZ777MihaiZ MihaiZ777 Data 14 decembrie 2019 14:05:19
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <stdio.h>

int main()
{
  FILE *fin, *fout;
  fin = fopen("elmaj.in", "r");
  fout = fopen("elmaj.out","w");

  int n;
  fscanf(fin, "%d", &n);
  int v[n];

  for(int i = 0; i < n; i++)
    fscanf(fin, "%d", &v[i]);

  int num = -1;
  int appear = 0;

  for(int i = 0; i < n; i++)
  {
    if(v[i] == num)
      appear++;
    else if(appear > 0)
      appear--;
    else
    {
      num = v[i];
      appear = 1;
    } 
  }  

  appear = 0;

  for(int i = 0; i < n; i++)
  {
    if(v[i] == num)
      appear++;
  }
  printf("%d %d", num,appear);
  if(appear < n / 2 + 1)
  {
    fprintf(fout, "%d", -1);
    fclose(fin);
    fclose(fout);
    return 0;
  }

  fprintf(fout, "%d %d", num, appear);
  fclose(fin);
  fclose(fout);

}