Cod sursa(job #2522153)
Utilizator | Pop Mihali Marco Silviu marcogold | Data | 12 ianuarie 2020 00:52:48 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | c-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include <stdio.h>
#include <stdlib.h>
int ap[2000002];
int main()
{
int n,elem,C=-1,count=0;
FILE *pfi;
FILE *pfo;
pfi=fopen("elmaj.in","r");
pfo=fopen("elmaj.out","w");
fscanf(pfi,"%d", &n);
for(int i=0; i<n; i++)
{
fscanf(pfi,"%d", &elem);
ap[elem]++;
if(C==elem)
count++;
else
count--;
if(count<0)
{
count=-1;
C=elem;
}
}
fseek(pfi,0,SEEK_SET);
fscanf(pfi,"%d", &n);
int number=ap[C];
if(number>n/2)
fprintf(pfo,"%d %d",C, number);
else
fprintf(pfo,"-1");
return 0;
}